Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

La plage de référence SOMME() ne suit pas

1 réponse
Avatar
13Hubert
Bonjour à toutes et à tous.

J'ai un tableau de calcul pour lequel j'ai créé (avec l'aide de ce forum,
merci à tous !) une macro de façon à ce qu'à l'appui sur un bouton, une
nouvelle ligne soit insérée pour la saisie d'une nouvelle dépense.
Voici cette macro :

Range("O65536").End(xlUp)(1).Offset(0, -14).Select
Selection.Rows.EntireRow.Select
Selection.Copy
Range("O65536").End(xlUp)(1).Offset(-1, -14).Select
Selection.Insert Shift:=xlDown
Range("A1").Select
Range("O65536").End(xlUp)(1).Offset(-2, -13).Select
Application.CutCopyMode = False

Une ligne sous la celle insérée, regroupe les totaux pour chaque colonne
avec la formule simple =somme()

Mon problème est qu'à chaque nouvelle ligne insérée, la plage de référence
ne suit pas et ne la prend pas en compte et bien-sur, mon total "oublie" les
nouvelles données.
Il y a certainement quelque nuance que je n'ai pas saisie mais où...?

Merci pour votre aide !

Hubert
--
...from Marseille !

1 réponse

Avatar
FFO
Salut Hubert
Je te propose cette solution :
'insertion de la ligne
Range("A1").Offset(65535, 0).End(xlUp).EntireRow.Insert Shift:=xlDown
'Mise en place de la formule dans la 1° cellule
Range("A1").Offset(65535, 0).End(xlUp).Select
ActiveCell.FormulaR1C1 = "=SUM(R[-" & ActiveCell.Row - 1 & "]C:R[-1]C)"
'Recopie de la formule dans les cellules de la même ligne insérée
ActiveCell.Copy
'Toutes les cellules de la ligne :
ActiveCell.EntireRow.Select
ActiveSheet.Paste
'Un nombre déterminée de cellule (ici 7 en plus de la 1° à adapter à ton
besoin)
Range(ActiveCell, ActiveCell.Offset(0, 7)).Select
ActiveSheet.Paste

celà correspond il à ton attente ???
Dis moi


Bonjour à toutes et à tous.

J'ai un tableau de calcul pour lequel j'ai créé (avec l'aide de ce forum,
merci à tous !) une macro de façon à ce qu'à l'appui sur un bouton, une
nouvelle ligne soit insérée pour la saisie d'une nouvelle dépense.
Voici cette macro :

Range("O65536").End(xlUp)(1).Offset(0, -14).Select
Selection.Rows.EntireRow.Select
Selection.Copy
Range("O65536").End(xlUp)(1).Offset(-1, -14).Select
Selection.Insert Shift:=xlDown
Range("A1").Select
Range("O65536").End(xlUp)(1).Offset(-2, -13).Select
Application.CutCopyMode = False

Une ligne sous la celle insérée, regroupe les totaux pour chaque colonne
avec la formule simple =somme()

Mon problème est qu'à chaque nouvelle ligne insérée, la plage de référence
ne suit pas et ne la prend pas en compte et bien-sur, mon total "oublie" les
nouvelles données.
Il y a certainement quelque nuance que je n'ai pas saisie mais où...?

Merci pour votre aide !

Hubert
--
...from Marseille !