Trouver la dernière cellule automatiquement
qidikizzy
Messages postés
12
Statut
Membre
-
qidikizzy Messages postés 12 Statut Membre -
qidikizzy Messages postés 12 Statut Membre -
Bonjour,
Je suis en train d'éditer une macro pour copier plusieurs feuilles sur une même feuille. Pour la continuité d'enregistrement des données, la plage sélectionnée et copiée depuis la feuille d’origine sur l'autre feuille est à entrer manuellement chaque fois. Cela signifie que la dernière cellule de la plage est à changer chaque fois dans la macro.
La macro est la suite ; la deuxième ligne ("L21") doit être changée à chaque fois que des données sont ajoutées dans la feuille "cutting".
Sheets("cutting").Select
Range("A2:L21").Select
Selection.Copy
Sheets("copie").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Range("A2:D65536").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Mes compétences de programmation sont limitées ; néanmoins, je souhaiterai quand même avoir cette dernière cellule automatiquement, est-ce possible? (excel 2003)
Je suis en train d'éditer une macro pour copier plusieurs feuilles sur une même feuille. Pour la continuité d'enregistrement des données, la plage sélectionnée et copiée depuis la feuille d’origine sur l'autre feuille est à entrer manuellement chaque fois. Cela signifie que la dernière cellule de la plage est à changer chaque fois dans la macro.
La macro est la suite ; la deuxième ligne ("L21") doit être changée à chaque fois que des données sont ajoutées dans la feuille "cutting".
Sheets("cutting").Select
Range("A2:L21").Select
Selection.Copy
Sheets("copie").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Range("A2:D65536").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Mes compétences de programmation sont limitées ; néanmoins, je souhaiterai quand même avoir cette dernière cellule automatiquement, est-ce possible? (excel 2003)
3 réponses
-
Bonjour,
Pour trouver la dernière ligne occupée dans une colonne
dim derlig as long
derlig=range("A65536").end(xlup).row
et donc ta cellule
range("A2:L" & derlig)
ou puriste VBA
range(cells(2,1), cells(derlig,12))
bonne journée
Michel -
Merci bcp pour votre réponse, il a l'air sur le bon chemin. Seul problème, il cherche les lignes audessus du A2, non pas en dessous. j'ai changé votre "xlup" à "xldown", ça marche non plus.
-
Euh,
la ligne 65536 n' a pas été mise au hasard... mais il faut qu'il n'y ait rien sous le tableau
en descendant vers la dernière cellule vide en col A
derlig=range("A2").end(xldown).row