Macro pour transférer une ligne sur une autre feuille

Résolu/Fermé
cherche! Messages postés 3 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 29 avril 2015 - 28 avril 2015 à 17:09
cherche! Messages postés 3 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 29 avril 2015 - 29 avril 2015 à 13:26
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!

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
29 avril 2015 à 11:56
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 mardi 28 avril 2015 Statut Membre Dernière intervention 29 avril 2015
29 avril 2015 à 13:26
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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
28 avril 2015 à 20:00
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 mardi 28 avril 2015 Statut Membre Dernière intervention 29 avril 2015
29 avril 2015 à 11:42
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