Boucle VBA

Bonjour,

Comment puis-je faire une boucle qui remonte un fichier pour ne garder que les 3 dernières lignes?

merci

6ligne.xlsx (10.78 Ko)

Bonjour,

Comme ça :

Sub galopin()
Dim i
i = Cells(65535, 1).End(xlUp)(-2).Row
Rows("3:" & i).Delete
End Sub

A+

Bonjour et merci Galopin, je vais tester.

a+


Re,

Ca ne va pas dans le sens où il ne faut pas supprimer la ligne (j'ai des graphes sur la feuille) mais uniquement "remonter" les valeurs des 4 colonnes, ligne par ligne.

merci

bonjour,

Essaie :

Sub galopin()
Dim i
i = Cells(65535, 1).End(xlUp)(-2).Row
Range("A3:D" & i).Clear
Range("A" & i + 1 & ":D" & i + 3).Copy Range("A3")
Range("A" & i + 1 & ":D" & i + 3).Clear
End Sub

A+

Re,

je ne comprends pas le glissement ligne par ligne en remontant ne se fait pas, la macro passe directement aux 3 dernières lignes?

je ne trouve pas l'erreur?

merci

J'ai pris directement les 3 dernières lignes et je les mises à leur place ou est la différence ? T'as pas demandé un dessin animé ?

Si je remontes ligne par ligne le résultat sera le même sauf que ça va te prendre 1 minute au lieu d'une seconde...

C'est pour avoir le temps de boire le café pendant ce temps là ?

Le même avec animation :

Sub galopin()
Dim i, ii
i = Cells(65535, 1).End(xlUp)(-2).Row
For ii = 3 To i
Range("A3:D3").Delete (xlUp)
Next
End Sub

A+

Merci Galopin, parfait !

(mon graphe tient compte justement de cette progression, je vais faire une autre boucle de comptage avant next, pour ralentir la macro sinon on voit pas bien)

a+

Bonjour Robinet,

Peux tu confirmer que ton sujet est clos ?

Merci

Rechercher des sujets similaires à "boucle vba"