Macro pour additionner une liste dynamique de cellules

Bonjour,

Je suis nouveau sur ce forum.

Je vous sollicite car je rencontre un problème sur Excel 2010.

Je travaille sur un tableau dont les données sont extraites d'un logiciel de gestion de dossiers.

Le nombre de rangs dans mon tableau varie donc tout le temps.

Je souhaite créer une macro qui additionne au bas de chaque colonne le contenu des cellules desdites colonnes (moins la 1ère cellule qui est l'entête de colonne).

J'ai réussi à trouver le code pour me déplacer au bas de chaque colonne, sur la 1ère cellule vide qui accueillera la somme mais je ne parviens pas à insérer dans ma macro la somme des cellules situées au-dessus.

Voici le code qui me permet de me déplacer au bas de chaque colonne (ici pour la colonne E) :

Range("E1").End(xlDown).Offset(1, 0).Select

Je vous remercie de l'aide que vous pourrez m'apporter.

Cordialement,

Philippe.

Bonjour,

tu auras plus de chance d'obtenir de l'aider avec une copie anonymisée de ton fichier

P.

Merci pour ton message.

Autant pour moi, il est vrai qu'avec le fichier ma question sera plus compréhensible.

Philippe.

39cab1.xlsx (17.32 Ko)

Bonjour le forum, Philippe,

essaye ceci:

Option Explicit

Sub totaliser()
Dim LastL, LastC
LastC = [IV2].End(xlToLeft).Column
LastL = [E65000].End(xlUp).Row
Range("E65000").End(xlUp).Offset(1, 0).Value = _
"=SUM(E2:" & Range("E65000").End(xlUp).Address(0, 0) & ")"
Cells(LastL + 1, 5).AutoFill Destination:=Range(Cells(LastL + 1, 5), Cells(LastL + 1, LastC))
End Sub

P.

Bonjour le fil, bonjour le forum,

Le fait que tu aies commencé le tableau en B1 au lieu de A1 complique un peu... J'ai d'abord effacé la dernière ligne (où tu avais écrit : "total...") et lancé le code ci-dessous :

Sub Macro1()
Dim PL As Range
Dim DC As Byte
Dim DL As Integer
Dim I As Byte

Set PL = Range("B1").CurrentRegion
Set PL = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count)
DC = PL.Columns.Count + 1
DL = PL.Rows.Count + 2
For I = 5 To DC
    Cells(DL, I).Value = Application.WorksheetFunction.Sum(Application.Intersect(PL, Columns(I)))
Next I
End Sub

[Édition]

Bonjour Patrick, nos posts se sont croisés...

Merci beaucoup Patrick !

Ton code répond parfaitement à mon problème.

NB : ThauThème : merci également pour ta réponse que je viens de voir après avoir testé le code de Patrick. Effectivement, j'ai laissé la colonne A vide car je devais y placer ensuite des formules.

Cdt,

Philippe.

Rechercher des sujets similaires à "macro additionner liste dynamique"