Boucle fonction du bas d'un tableau

Bonsoir à tous,

J'aimerais me créer une macro de manière à gagner beaucoup de temps au boulot, mais à part enregistrer certaines actions, je ne sais pas faire grand chose...

Voilà ce que je ne sais pas coder (voir le fichier joint) :

1 - recopier les contenus + formules des cellules G25:S25 jusqu'en bas du tableau uniquement une ligne sur 4 (les lignes non vides en A), jusqu'à la fin du tableau.

Le problème c'est que la "fin" du tableau est variable et peu aller de 10 à 500 lignes...il faudrait donc faire une boucle jusqu'à la bordure (si ça peut être une condition de fin de boucle...).

2 - insérer au bas du tableau la zone A1:M5 de la feuille 2 avec les formules somme pour chaque colonne, sachant que encore une fois le tableau a une longueur variable et que les formule doivent bien prendre en compte la colonne en entier.

Merci beaucoup par avance à ceux qui voudront bien m'aider !

bonsoir,

voici une proposition de macro.

Sub insere()
With Worksheets("Feuil1")
' la fin du tableau est 2 lignes au-dessus d'une cellule qui contient " Tous les ...."
 dl = .Range("D:D").Find("Tous les montants sont exprimés en").Row - 2
 ' copie colonnes L à S de la ligne 25 toutes les 4 lignes
 For i = 29 To dl Step 4
 .Range("L25:S25").Copy .Range("L" & i & ":S" & i)
 Next i
 ' copie les cellules A1 à M5 de la feuille 2 à la fin du tableau
 Worksheets("Feuil2").Range("A1:M5").Copy .Range("A" & dl + 7)
 ' on adapte les formules
 .Range("E" & dl + 7).Formula = "=sum(L25:L" & dl & ")"
 .Range("E" & dl + 8).Formula = "=sum(N25:N" & dl & ")"
 .Range("E" & dl + 9).Formula = "=sum(R25:R" & dl & ")"
 .Range("E" & dl + 10).Formula = "=sum(C25:C" & dl & ")"
 .Range("E" & dl + 11).Formula = "=sum(A25:A" & dl & ")"
End With
End Sub

Merci beaucoup h2so4 pour ta réponse, je confirme que ta macro fonctionne très bien

A une prochaine fois !

Rechercher des sujets similaires à "boucle fonction bas tableau"