Somme lignes

Signaler
Messages postés
22
Date d'inscription
samedi 9 février 2013
Statut
Membre
Dernière intervention
16 mars 2020
-
Messages postés
22
Date d'inscription
samedi 9 février 2013
Statut
Membre
Dernière intervention
16 mars 2020
-
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

Messages postés
2079
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
7 avril 2020
269
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
Messages postés
22
Date d'inscription
samedi 9 février 2013
Statut
Membre
Dernière intervention
16 mars 2020

Merci beaucoup de votre aide :-)