jlchaps
Habitué
Je voudrai créer une macro dans Excel 2000 qui permette de sélectionner une ligne d'une feuille appellée "Maintenance" et la déplacer automatiquement à la fin d'une autre feuille appelée "Archive" (après sélection de la ligne concernée et utilisation du raccourci CTRL/q).
En utilisant le gestionnaire de macro, voilà ce que j'obtiens :
----------------------------------------------------------------------
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/01/2005 par jlchapel
'
' Touche de raccourci du clavier: Ctrl+q
'
Selection.Cut
Sheets("Archive").Select
ActiveCell.SpecialCells(xlLastCell).Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Maintenance").Select
Selection.Delete Shift:=xlUp
End Sub
----------------------------------------------------------------------
Le problème, c'est qu'à chaque fois que je fais CTRL/q sur une ligne sélectionnée de la feuille "Maintenance", elle est déplacée dans la feuille "Archive" mais toujours à la ligne 4.
Pourtant, lors de l'enregistrement de la macro, je fais :
- "CTRL/FIN" pour aller à la fin de la feuille
- "Flèche vers le bas" pour aller à la ligne suivante
- "Home" pour venir en début de cette ligne.
Mais cette combinaison de touche est traduite en Visual Basic par "sélectionner la cellule A4" !!!! Pourtant, dans un vieux Excel, quand on utilisait une flèche de déplacement dans l'enregistrement d'une macro, c'était bien traduit par un déplacement sans coordonnées fixes.
Comment je peux modifier manuellement cette macro pour lui dire d'aller au début de la dernière ligne vide avant de faire le "copier" ?
Merci de votre aide.
En utilisant le gestionnaire de macro, voilà ce que j'obtiens :
----------------------------------------------------------------------
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/01/2005 par jlchapel
'
' Touche de raccourci du clavier: Ctrl+q
'
Selection.Cut
Sheets("Archive").Select
ActiveCell.SpecialCells(xlLastCell).Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Maintenance").Select
Selection.Delete Shift:=xlUp
End Sub
----------------------------------------------------------------------
Le problème, c'est qu'à chaque fois que je fais CTRL/q sur une ligne sélectionnée de la feuille "Maintenance", elle est déplacée dans la feuille "Archive" mais toujours à la ligne 4.
Pourtant, lors de l'enregistrement de la macro, je fais :
- "CTRL/FIN" pour aller à la fin de la feuille
- "Flèche vers le bas" pour aller à la ligne suivante
- "Home" pour venir en début de cette ligne.
Mais cette combinaison de touche est traduite en Visual Basic par "sélectionner la cellule A4" !!!! Pourtant, dans un vieux Excel, quand on utilisait une flèche de déplacement dans l'enregistrement d'une macro, c'était bien traduit par un déplacement sans coordonnées fixes.
Comment je peux modifier manuellement cette macro pour lui dire d'aller au début de la dernière ligne vide avant de faire le "copier" ?
Merci de votre aide.