Macro calcul en fonction de la dernière ligne

Mariusweber

XLDnaute Nouveau
Bonjour,

Je cherche à obtenir des macros qui effectuent un calcul en fonction de la dernière ligne d’un fichier (l’index de cette ligne pouvant changer en fonction du projet étudié). Je vous laisse observer le fichier en pièce jointe si vous avez du temps à me consacrer pour m’aider. :)

Merci!

Marius
 

Pièces jointes

  • fichier base pour envoi act52.xlsm
    20.8 KB · Affichages: 8

Staple1600

XLDnaute Barbatruc
Bonjour

Si j'ai bien compris
VB:
Sub act_52_v2()
Dim DernLigne&, Lignecalcul$
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
Lignecalcul = DernLigne - 2
Range("D" & DernLigne) = "=((SUBTOTAL(109,R6C:R" & Lignecalcul & "C))*1.06)/2"
MsgBox "Le total des heures a été recalculé à l'activité 52", vbInformation, "Résultats"
End Sub

Observations:
Pourquoi ne pas simplement utiliser les formules?
Normalement, elles s'adapteront même si tu insères des lignes.
Exemple
en D17: =SOMME($D$9:D16)
en D23: =$D17+$D21
et en D25, ta formule actuelle : =(((SOUS.TOTAL(109;D$6:D$22))*1,06)/1,06)/2
Ensuite si tu insères des lignes entre D9 et D16, les formules s'adaptent automatiquement, non ?
(Sans devoir passer pas VBA)
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Bonjour,
J'ai réussi à trouver par moi meme une solution simple en vba :) . Merci de votre réponse!

Marius
Tu as trouvé une solution tout seul, c'est bien
La publier, pour la partager avec la communauté des XLdiens, c'est mieux ;)
(et accessoirement c'est aussi plus courtois)

Apparemment, le nouveau membre cru 2019 prends les mauvaises habitudes du cru 2018
;)
 

Mariusweber

XLDnaute Nouveau
Bonjour,

Voila la solution :

Sub act_52_v2()

xx = Range("D" & Rows.Count).End(xlUp).Row
Range("D" & xx).FormulaR1C1 = "=(SUBTOTAL(109,R6C:R" & xx - 3 & "C))*(55/52)"
MsgBox ("Le total des heures a été recalculé à l'activité 52")

End Sub
Sub act_55_v2()

xx = Range("D" & Rows.Count).End(xlUp).Row
Range("D" & xx).FormulaR1C1 = "=((SUBTOTAL(109,R6C:R" & xx - 3 & "C))*(55/52))/(55/52)"
MsgBox ("Le total des heures a été recalculé à l'activité 55")

End Sub

Bien cdlt,

Marius
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali