Macro pour transférer une ligne sur une autre feuille

Résolu
cherche! Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
cherche! Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à créer une macro qui me permette de transférer (couper-coller) n'importe quelle ligne du tableau de la feuille 1 vers la feuille 2 en dernière ligne du tableau. Les tableaux sont de forme identique. Pour une ligne, je sais faire la macro par l'enregistreur de macro (oui, je suis débutant en macro).

Mais je suis bloqué car bien sûr cette macro doit pouvoir s'exécuter sur n'importe quelle ligne choisie parmi le tableau de la feuille 1.

Comment faire ? Un bouton sur chaque ligne ? Mais comment rendre automatique la prise en compte de la bonne ligne dans la macro ?

J'avais pensé mettre la commande de ma macro dans une cellule de mon tableau de la feuille 1, mais je ne sais pas comment sélectionner la ligne correspondante à la cellule utilisée pour faire mon transfert.

D'avance merci à ceux qui auront la gentillesse de ma lire et de me guider.

Cherche!
A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Ou autre solution plus sûre et sans se fatiguer : tu affectes un raccourci à la macro (Touches Ctrl + q par exemple).

A+
1
cherche! Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Oui j'y avais pensé. A défaut, j'utiliserai cette option pour éviter les erreurs d'utilisateur peu averti.

Encore merci pour ton aide.

Bonne journée
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Voici une macro qui effectue un couper de la ligne correspondant à la cellule sélectionnée dans la feuille active et un coller dans la feuille "Feuil2".
Sub Transferer()
If MsgBox("Confirmez-vous le transfert de la ligne " & ActiveCell.Row, vbYesNo + vbExclamation, "CONFIRMATION") = vbYes Then
ActiveCell.EntireRow.Cut
ActiveSheet.Paste Worksheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1)
ActiveCell.EntireRow.Delete
End If
End Sub


A+
0
cherche! Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Gyrus,

La macro fonctionne impeccable.

Serait-il possible que cette macro fonctionne sans passer par un bouton (en l'état il y a le risque de transférer des lignes par erreur si l'utilisateur clique sur la commande par mégarde).
Deux suggestions :
- la macro serait lancée avec un clic droit sur la cellule sélectionnée.
- la macro serait lancée lorsque la cellule n'est plus vide.

Merci
0