Taux de variation à partir de la dernière ligne

Résolu/Fermé
Marodie Messages postés 2 Date d'inscription lundi 30 novembre 2015 Statut Membre Dernière intervention 30 novembre 2015 - 30 nov. 2015 à 11:34
Marodie Messages postés 2 Date d'inscription lundi 30 novembre 2015 Statut Membre Dernière intervention 30 novembre 2015 - 30 nov. 2015 à 14:02
Bonjour,
je suis nouvelle sur le forum alors j'espère ne pas m'être trompée de lieu et je vous remercie par avance pour l'intérêt que vous porterez à ma question.
A partir d'Excel, je dois créer un tableau de bord de différents indicateurs. Pour cela, j'ai un onglet base de données qui recense l'ensemble des données sous format base de données. Chaque ligne représente une année, les variables sont en colonne. Chaque année, une nouvelle ligne se crée automatiquement en ligne 2 pour insérer les nouvelles données.
Je dois calculer un taux de variation et le faire apparaître sur la feuille Evaluation, à partir des informations situées sur ma feuille base_finale. Le problème est que ma valeur finale bouge chaque année de ligne, c'est la dernière valeur de ma colonne.
J'ai tenté d'écrire un code VBA permettant de trouver la dernière ligne, mais il ne fonctionne pas:

Sub Variation AT()
'ne pas rafraichir l'écran pendant la macro
Application.ScreenUpdating = False

' Selectionner la feuille base finale
Sheets(base_finale).Activate
Dim DernLigne As Long
DernLigne = Range("B" & Rows.Count).End(xlUp).Row

' Selectionner la feuille Evaluation
Sheets(Evaluation).Select
Sheets(Evaluation).Activate

' Taux de variation
'On inscrit la formule en C12
Range("C12").FormulaR1C1 =(('base finale'!$R2$C2-'base finale'!DernLigne)/('base finale'!DernLigne))"

'rafraichir l'écran
Application.ScreenUpdating = True

End Sub

Pourriez-vous m'aider à comprendre ce qui ne fonctionne pas?
Merci d'avance.

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
30 nov. 2015 à 12:53
Bonjour,

Essaie comme cela
Sub Variation_AT()
Dim DernLigne As Long
' Déterminer le numéro de la dernière ligne renseignée dans la feuille base finale
DernLigne = Sheets("base finale").Range("B" & Rows.Count).End(xlUp).Row
'Inscrire la formule du Taux de variation en C12
Sheets("Evaluation").Range("C12").Formula = "=('base finale'!B2-'base finale'!B" & DernLigne & ")/'base finale'!B" & DernLigne
End Sub

A+
0
Marodie Messages postés 2 Date d'inscription lundi 30 novembre 2015 Statut Membre Dernière intervention 30 novembre 2015
30 nov. 2015 à 14:02
Merci beaucoup Gyrus, tout fonctionne.
0