Somme lignes

Fermé
rimoa Messages postés 149 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 18 octobre 2024 - 8 mars 2020 à 19:20
rimoa Messages postés 149 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 18 octobre 2024 - 16 mars 2020 à 02:02
Bonjour, j'ai besoin de votre aide merci.
J'ai créé la macro1 pour insérer une colonne et y mettre la somme des valeurs. Tout fonctionne bien mais il me manque la formule qui me permettra d'inclure les valeurs des lignes qui vont être ajoutées dans le futur. Pouvez-vous me dire ce que je dois changer dans l'algorithme VBA? Voici le lien de mon fichier.


https://www.cjoint.com/c/JCislEgC3iG

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
9 mars 2020 à 04:59
Bonjour,

Si j'ai bien compris,
Sub Insert_Colonne()
    Dim DerLig As Long 'Déclaration de la variable DerLig
    Application.ScreenUpdating = False 'Augmente la vitesse d'exécution et évite les rafraîchissements de l'écran lors de l'exécution du code
    DerLig = Range("A" & Rows.Count).End(xlUp).Row 'Recherche la dernière ligne de la colonne A
    Columns("B:B").Insert Shift:=xlToRight 'Insere une colonne en B
    Range("B1").Value = "Paid" 'Ajoute le titre
    Range("B2:B" & DerLig).FormulaR1C1 = "=RC[1]+RC[2]+RC[3]" 'Formule appliquée à l'ensemble de la colonne
End Sub


Votre formule peut être écrite de la façon suivante( toujours la somme des 3 colonnes suivantes)
Range("B2:B" & DerLig).FormulaR1C1 = "=SUM(RC[1]:RC5)" 'Formule appliquée à l'ensemble de la colonne (somme des 3 colonnes suivantes)


Autre cas, si vous voulez additionner l'ensemble des colonnes qui suivent la colonne B
Sub Insert_Colonne2()
    Dim DerLig As Long 'Déclaration de la variable DerLig
    Dim DerCol As Long 'Déclaration de la variable DerCol
    Application.ScreenUpdating = False 'Augmente la vitesse d'exécution et évite les rafraîchissements de l'écran lors de l'exécution du code
    DerLig = Range("A" & Rows.Count).End(xlUp).Row 'Recherche la dernière ligne de la colonne A
    Columns("B:B").Insert Shift:=xlToRight 'Insere une colonne en B
    Range("B1").Value = "Paid" 'Ajoute le titre
    DerCol = Range("A1").End(xlToRight).Column 'Recherche la dernière colonne de la ligne 1
    Range("B2:B" & DerLig).FormulaR1C1 = "=SUM(RC[1]:RC" & DerCol & ")"  'Formule appliquée à l'ensemble de la colonne (somme de toutes les colonnes suivantes)
End Sub



Cdlt
0
rimoa Messages postés 149 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 18 octobre 2024 1
16 mars 2020 à 02:02
Merci beaucoup de votre aide :-)
0