Forum Clubic

[Excel VBA] - plage dynamique (A1:Ax)

Bonjour à tous,
voila mon petit probleme:
En A1 j’ai la formule: =somme($A$2:$A$500)
J’ai une macro qui filtre mes données en effacant des lignes.
Si ma macro efface 100 lignes A1 devient =somme($A$2:$A$400)
Or J’aimerais que cette formule reste à 500 !!!!
(Mon fichier Excel est un outil dans lequel je copie différentes données. Apres plusieurs utilisation la somme en A1 ne prend plus toutes mes données)
Y a t’il une syntaxe speciale qui empeche ca?
Ou une précaution a prendre dans ma macro de filtrage?

Sinon, une solution envisagée est de calculer le nombre de lignes restantes a la fin de ma macro de filtrage et de faire une somme dynamique.
J’affiche ce nombre dans la cellule B1 (ca marche) ex:B1=356
Y a t’il une formule qui puisse me faire la somme en A1:
=Somme(A2:A(valeur de B1) ? ===> =somme(A6:A356)

J’ai essayé des trucs du genre somme(A6:A&“B1”) ca marche pas.
En VBA j’y arrive avec Range(“A2:A” & nombre).Select ; nombre étant ma variable… mais j’aimerais ne pas utiliser de macro pour calculer cette somme dynamique…
Quelqu’un a des idées???
J’en ai vraiment besoin car je retrouve ce problème sur des gros fichiers dynamiques, c’est le point final apres avoir developpé 40 macros!!!
Merci d’avance!

C’est dans la F.A.Q VBA

Tu as aussi le Forum VBA

Sans faut-il "insérer" les données plutôt que de les "copier".

Je comprends pas bien ta question : Tu veux que ta formule reste constante ou non ?

Si tu veux qu’elle reste constante, il te suffit de remettre la formule en fin de macro.
Si tu veux avoir une formule “dynamique” comme tu dis, tu peux utiliser soit la propriété “xldown” (dernière cellule non vide en allant vers le bas) ou la propriété “offset” (qui te décale ta cellule de départ d’une certaine valeur).

Slts