Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Apparition de flèches Excel [ Langages dérivés / VBA ] (Quintino38)

mercredi 16 juillet 2008 à 12:06:21 | Apparition de flèches Excel

Quintino38

Bonjour,

Je suis (quasi) novice en programmation et je souhaiterais savoir si et comment il est possible de faire apparaïtre différentes flèches enfonction de certaines valeur.

Plus précisément:

si la valeur de la cellule C21 est inférieuire à -1%, alors une flèche verte orientée vers le bas apparaît.
si cette valeur est comprise entre -1% et 1%. alors une flèche orange orientée vers la droite apparaît. si cette valeur est supérieure à 1% alors, une flèche rouge apparaît, orientée vers le haut.

Comment dois-je procéder pour parvenir à ce résultat?

Merci beaucoup de votre aide

mercredi 16 juillet 2008 à 15:17:37 | Re : Apparition de flèches Excel

mortalino

Membre Club
Salut,

une idée en passant, tu crées 3 images (menu Insertion).
et dans l'évènement Worksheet_Change

If Target.Address = "$C$21" then
    Select Case Target.Value
        Case Is < -1: Shapes("Image 1").Visible = True: Shapes("Image 2").Visible = False: Shapes("Image 3").Visible = False
        Case -1 To 1: Shapes("Image 1").Visible = False: Shapes("Image 2").Visible = True: Shapes("Image 3").Visible = False
        Case Else: Shapes("Image 1").Visible = False: Shapes("Image 2").Visible = False: Shapes("Image 3").Visible = True
    End Select
End If

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

mercredi 16 juillet 2008 à 15:24:30 | Re : Apparition de flèches Excel

Molenn

Une simple formule =SI avec 3 critères suffit.
En fonction de tes conditions, tu fais apparaître un des 3 caractères suivants : é, ê, è
Il te suffit ensuite de passer le format de la cellule à la police Wingdings (standard avec Windows) pour avoir tes flèches.

Sinon, sans jouer avec les flèches, mais avec un code couleur sur ta cellule, une simple Mise en forme conditionnelle suffit (Menu Format\Mise en forme conditionnelle).

Molenn

mercredi 16 juillet 2008 à 15:25:14 | Re : Apparition de flèches Excel

Molenn

Bouh Mortalino !! Surtout pas de code VBA pour faire ça ... Bouuuuuuuuuuh

mercredi 16 juillet 2008 à 15:35:37 | Re : Apparition de flèches Excel

mortalino

Membre Club
Lol, salut Molenn

Bah tu me connais, suis très habitué au VBA, et moins avec les formules.
En tout cas, je viens de tester ta soluce, c'est pas mal cette bidouille avec la police d'écriture, bien pensé

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

jeudi 17 juillet 2008 à 08:53:31 | Re : Apparition de flèches Excel

Quintino38

Bonjour,

Effectivement la mise en forme conditionnelle est très astucieuse, d'autant plus que l'on peut la croiser avec la formule avec les flèches: genre rouge/vert.
Par contre j'ai un léger problème pour mettre les trois conditions:
J'ai ainsi inscrit: SI(C21<5%;"é"), et mis en wingdings
Comment fait-on pour compléter la formule avec les 2 autres conditions?

Mortalino, ta solution me paraît excellente, mais j'aimerai savoir comment je dois faire pour accéder 1) à l'événement worksheet_change et 2) au nom de mes images. Cela me permettrai d'utiliser des symbôles plus travaillé, comme des panneaux "Attention danger"

Par pur hasard, connaîtriez-vous la transcription de ces astuces sous openoffice -mon travail doit être aux deux formats-?

Merci beaucoup


jeudi 17 juillet 2008 à 09:05:12 | Re : Apparition de flèches Excel

Molenn

Il ne faut pas inscrire dans ta formule SI(C21<5% ... parce qu'Excel ne le comprend pas. Le pourcentage n'est qu'un mode d'affichage. Mais bohn, il suffit de savoir que 5%, c'est 0,05

Ta formule devient donc, pour reprendre ton énoncé de départ :
=SI(C21<-0,1;"é";SI(C21<0,1;"ê";"è"))


Pour répondre à une question adressée à Mortalino, pour accéder à worksheet_change, il faut aller dans l'éditeur VB (taper alt+F11 dans EXCEL)

Molenn

jeudi 17 juillet 2008 à 10:08:19 | Re : Apparition de flèches Excel

Quintino38

Je suis allé sous VBA (par alt+ F11)
J'ai sélectionné "worksheet", puis "change" à la place de "selection_change", j'ai copié-collé le code ci-dessus, mais malheureusement rien ne se passe.
Apparemment le nom de mes images est respectivement "Forme automatique 30" pour le panneau attention; "Forme automatique 29" pour la flèche vers le bas et "Forme automatique 28" pour la flèche vers le haut.
Cela donne (pour la case G20, si G20<3% alors flèche vers le bas, si -3%<G20<3%, panneau attention et si G20>3% alors flèche vers le haut):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$20" Then
    Select Case Target.Value
        Case Is < -0.03: Shapes("TableaudeBord_Formeautomatique29").Visible = True: Shapes("TableaudeBord_Formeautomatique30").Visible = False: Shapes("TableaudeBord_Formeautomatique28").Visible = False
        Case -0.03 To 0.03: Shapes("TableaudeBord_Formeautomatique29").Visible = False: Shapes("TableaudeBord_Formeautomatique30").Visible = True: Shapes("TableaudeBord_Formeautomatique28").Visible = False
        Case Else: Shapes("TableaudeBord_Formeautomatique29").Visible = False: Shapes("TableaudeBord_Formeautomatique30").Visible = False: Shapes("TableaudeBord_Formeautomatique28").Visible = True
    End Select
End If
End Sub



Cette discussion est classé dans : valeur, flèches, flèche, apparaît, orientée


Répondre à ce message

Sujets en rapport avec ce message

récupurer une valeur d'une ligne sélectionnée dans une dbgrid [ par Cameleon ] A partir d'une requete SQL je rempli une dbgrid, quand je selectionne une ligne je voudrais en recupérer une valeur d'une colonne, je ne vois pas comm calculer une opération [ par hellooo !!! ] Je souhaiterais savoir comment substituer une valeur à x lorsque l'on a :"x+2+sin(x)"... et ainsi trouver la valeur de cette chaîne avec une valeur de Valeur des Tab dans un controle TEXTBOX [ par G.Cliff ] Je cherche comment régler la valeur des Tabulations dans un controle TEXTBOXNT4 / VB5 (sp3)Merci de votre réponse appel de DLL écrite en C [ par laet ] Bonjour,J'ai un problème d'appel de DLL écrite en C, dans mon code en VB. pourriez vous m'aider ? ? ? Voici mon message d'erreur quand j'exécute mon V comment mettre la valeur contenue dans une variable string dans une variable de type entier [ par totoro ] je travaille sur un fichier texte dans lequel il faut que je recupere des informations afin de les stocker dans un base de données sous Access.pour pa comment mettre la valeur contenue dans une variable string dans une variable de type entier [ par totoro ] je travaille sur un fichier texte dans lequel il faut que je recupere des informations afin de les stocker dans un base de données sous Access.pour pa comment mettre la valeur contenue dans une variable string dans une variable de type entier [ par totoro ] je travaille sur un fichier texte dans lequel il faut que je recupere des informations afin de les stocker dans un base de données sous Access.pour pa


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.