Somme lignes

rimoa Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
rimoa Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    1. rimoa Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   1
       
      Merci beaucoup de votre aide :-)
      0