Bonsoir,
Je débute en VBA. J'ai créé ce petit code qui me permet de calculer une évolution du chiffre par rapport à l'année précédente.
La macro se lance sur le changement de valeurs des cellules dans les colonnes B et E. Quand je modifie une cellule dans la colonne B, ca marche. Par contre, en partant de la colonne E, ca ne marche pas. la variable "Valeur_Annee_Precedente" reste vide en ligne 14. Pourtant, la variable firstAddress est bonne
Si vous avez une solution, je suis preneur car je sèche totalement sur cette énigme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub Evolution_N_Moins_1(Onglet_Precedent, AdresseCellule, Colonne_Recherche) ' ' On calcul l'évolution pour le poste de budget modifié ' Range(AdresseCellule).Select Valeur_Annee_Cours = Range(AdresseCellule).Value ActiveCell.Offset(0, -1).Select Poste_Budget = ActiveCell.Value ' On va chercher le chiffre de l'an dernier With Worksheets(Onglet_Precedent).Columns(Colonne_Recherche) Set Cell = .Find(Poste_Budget, LookIn:=xlValues) If Not Cell Is Nothing Then firstAddress = Cell.Address Valeur_Annee_Precedente = .Range(firstAddress).Offset(0, 1).Value Else Valeur_Trouve = "non" End If End With If Valeur_Trouve = "non" Then ActiveCell.Offset(0, 2).Value = "'-" Else If Valeur_Annee_Precedente = "0" And Valeur_Annee_Cours = "0" Then ActiveCell.Offset(0, 2).Value = "'-" ElseIf Valeur_Annee_Precedente = "0" And Valeur_Annee_Cours <> "0" Then ActiveCell.Offset(0, 2).Value = "1" Else ActiveCell.Offset(0, 2).Value = (Valeur_Annee_Cours / Valeur_Annee_Precedente) - 1 End If End If End Sub
Merci
Partager