Flèches de variation

jojo35000

XLDnaute Nouveau
Bonjour à tous,

Je suis vraiment nul en excel et surtout en formules donc j'ai besoin de votre aide.
En effet, dans le tableau que je vous mets en pièce jointe je dois réaliser quelques travaux.

Tout d'abord, je dois avoir une formule afin qu'en C5, j'ai le pourcentage de variation qui se mette automatiquement.
Pour réussir, c'est le % de variation entre le total B5 et le total B5 de la semaine passée. (Donc sur la feuille précédente).
J'ai besoin que ce soit automatique.

Ensuite, en D5, selon si la variation est positive, une flèche rouge apparaît en pointant vers le haut, si la variation est nulle, une flèche bleue qui stagne et si la variation est négative, une flèche verte vers le bas.

Il faut que ensuite ces tableaux soit automatiques sur toute l'année afin qu'on puisse les remplir et que cela apparaisse sans rien faire.

Merci de votre aide !!!!
 

Pièces jointes

  • Test.xls
    24.5 KB · Affichages: 70
  • Test.xls
    24.5 KB · Affichages: 82
  • Test.xls
    24.5 KB · Affichages: 82

eddy51

XLDnaute Occasionnel
Re : Flèches de variation

Bonjour ,
Tout d'abord j'ai une question ou 2.

Tes pourcentages s'etablissent sur quoi , car tu nous donne des chiffres mais c'est sur combien.
Et tes variations se font a partir de combien et de ou?
 

eddy51

XLDnaute Occasionnel
Re : Flèches de variation

Si tu as un bon niveau excel je vais te donné un fichier ,ou y'a de la variation du pourcentage et des couleurs de variation.
 

Pièces jointes

  • 111 (6).xls
    35.5 KB · Affichages: 124
  • 111 (6).xls
    35.5 KB · Affichages: 139
  • 111 (6).xls
    35.5 KB · Affichages: 140

jojo35000

XLDnaute Nouveau
Re : Flèches de variation

Malheureusement, je n'ai aps un bon niveau excel.

Pour le pourcentage de variation : c'est la variation entre le total en B5 de la feuille S3 par rapport au total B5 de la semaine passée de la feuille S2.
C'est toujours par rapport à la semaine précédente et le résultat est à inclure en C5 (% variation).
Ensuite dans la colonne D (variation) il faut mettre les flèches de couleur automatiques qui se réfèrent au résultat de la cellule C5 (ou C6 ou C7 selon la ligne).

Merci pour ta rapidité en tout cas.
 

eddy51

XLDnaute Occasionnel
Re : Flèches de variation

Ce ne sont que des exemples a toi des les remettrent selon tes cellules a toi.

=(B2-A2)/ABS(A2)

Divise la différence entre le premier et le deuxième nombre par la valeur absolue du premier pour obtenir le pourcentage d’évolution (0,06746 ou 6,75 %).


=SI(B10>E10;"-";SI(B10=E10;"=";"+"))

Ceci c'est pour le signe de ta variation
SI b10 plus grand que e10 alors -
SI b10=e10 alors = sinon +

Fait déja sa tu auras la suite apres lol
 

eddy51

XLDnaute Occasionnel
Re : Flèches de variation

C'est un truc comme sa que tu veut ?
TKT PAS pour le + - = , si tu veut des fleches je te mettrait des fleches c'est pas un probleme.
 

Pièces jointes

  • Test (2).xls
    31 KB · Affichages: 93
  • Test (2).xls
    31 KB · Affichages: 93
  • Test (2).xls
    31 KB · Affichages: 87

eddy51

XLDnaute Occasionnel
Re : Flèches de variation

Voila pour toi en esperant avoir répondu a tes attentes .
Pour testé .
Tu modifie en B7 , tu met 38 puis apres tu met 39 , et normalement tu verra si c'est ce que tu veut obtenir .
 

Pièces jointes

  • Test (2).xls
    32 KB · Affichages: 121
  • Test (2).xls
    32 KB · Affichages: 130
  • Test (2).xls
    32 KB · Affichages: 126

jojo35000

XLDnaute Nouveau
Re : Flèches de variation

C'est exactement ça, merci beaucoup.

Par contre en étant un peu pointilleux, vu que ça va être un modèle à remplir chaque semaine je vais copier les formules dans chaque case, mais lorsque les cases sont vides en B8 et C8, la variation met = en D8, or il ne devrait rien y avoir puisque c'est vide et doit être = si la variation est de 0, peut-on modifier cela ??

Merci beaucoup
 

job75

XLDnaute Barbatruc
Re : Flèches de variation

Bonjour jojo35000, eddy51,

Puisqu'a priori il y a 52 feuilles de semaines, une solution VBA est sans doute utile.

A placer dans ThisWorkbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim n&, F As Worksheet, cel As Range
n = Val(Replace(Sh.Name, "S", ""))
If n < 2 Then Exit Sub
'---Mises en forme si pas déjà fait...---
[C5:D28,C30:D30].ClearContents
[C5:D28,C30:D30].HorizontalAlignment = xlCenter
[C5:C28,C30].NumberFormat = "0.00%"
[D5:D28,D30].Font.Name = "Wingdings"
'---Analyse par cellule---
Set F = Worksheets("S" & n - 1)
For Each cel In [B5:B30]
  If cel <> "" And F.Range(cel.Address) <> 0 Then
    cel.Offset(, 1) = cel / F.Range(cel.Address) - 1
    With cel.Offset(, 2)
      Select Case Sgn(cel.Offset(, 1))
        Case 1: .Value = "ì": .Font.ColorIndex = 3 'rouge
        Case 0: .Value = "è": .Font.ColorIndex = 5 'bleu
        Case -1: .Value = "î": .Font.ColorIndex = 4 'vert
      End Select
    End With
  End If
Next
End Sub
La macro s'exécute quand on active une feuille de semaine, sauf S1 bien sûr.

Fichier joint.

A+
 

Pièces jointes

  • Flèches(1).xls
    50.5 KB · Affichages: 56
Dernière édition:

job75

XLDnaute Barbatruc
Re : Flèches de variation

Re,

J'oubliais qu'il faut aussi une mise à jour quand dans la feuille on modifie les valeurs en colonne B.

Alors il faut ces 3 macros, toujours dans ThisWorkbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Variation Sh
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
If Not Intersect(Source, [B:B]) Is Nothing Then Variation Sh
End Sub

Sub Variation(Sh As Object)
Dim n&, F As Worksheet, cel As Range
n = Val(Replace(Sh.Name, "S", ""))
If n < 2 Then Exit Sub
Application.ScreenUpdating = False 'accélère la macro
[C5:D28,C30:D30].ClearContents 'RAZ
'---Mises en forme si pas déjà fait...---
[C5:D28,C30:D30].HorizontalAlignment = xlCenter
[C5:C28,C30].NumberFormat = "0.00%"
[D5:D28,D30].Font.Name = "Wingdings"
'---Analyse par cellule---
Set F = Worksheets("S" & n - 1)
For Each cel In [B5:B30]
  If IsNumeric(cel) And IsNumeric(F.Range(cel.Address)) Then
    If cel <> "" And F.Range(cel.Address) <> 0 Then
      cel.Offset(, 1) = cel / F.Range(cel.Address) - 1
      With cel.Offset(, 2)
        Select Case Sgn(cel.Offset(, 1))
          Case 1: .Value = "ì": .Font.ColorIndex = 3 'rouge
          Case 0: .Value = "è": .Font.ColorIndex = 5 'bleu
          Case -1: .Value = "î": .Font.ColorIndex = 4 'vert
        End Select
      End With
    End If
  End If
Next
End Sub
Les 2 macros événementielles appellent la macro Variation (paramétrée).

Fichier (2).

Edit : ajouté un test supplémentaire pour le cas où l'on entre des valeurs non numériques en colonne B...

A+
 

Pièces jointes

  • Flèches(2).xls
    55 KB · Affichages: 78
Dernière édition:

jojo35000

XLDnaute Nouveau
Re : Flèches de variation

Merci beaucoup job75 et eddy 51.

En revanche job75, je n'ai abssolument rien compris.
Le résultat est superbe mais je n'ai absolument pas compris comment on y arrive et encore moins les termes VBA et macro.

Et j'ai toujours mojn problème de formile car j'aimerais vraiment qu'il n'y ait rien dans les cellules où il n'y a pas de chiffres et non une flèche bleue.
Mais sans avoir à supprimer la formule de la cellule, car une fois le modèle installé, les gens doivent saisir des chiffres mais ne doivent pas toucher aux formules.

Merci
 

job75

XLDnaute Barbatruc
Re : Flèches de variation

Bonjour jojo35000, eddy51,

je n'ai absolument pas compris comment on y arrive et encore moins les termes VBA et macro.

Je suis sûr que vous allez apprendre, c'est passionnant et tellement utile.

Une macro est un programme qui s'écrit dans un langage. Sur Excel le langage est celui de VBA : Visual Basic for Application.

Pour aller dans VBA appuyez simultanément sur les touches Alt et F11.

A gauche, normalement, s'affiche le projet VBA : double-cliquez sur ThisWorkbook.

Vous verrez alors la macro que j'ai écrite.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 293
Messages
2 086 860
Membres
103 402
dernier inscrit
regishar