Macro pour transférer une ligne sur une autre feuille [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
mardi 28 avril 2015
Statut
Membre
Dernière intervention
29 avril 2015
-
cherche!
Messages postés
3
Date d'inscription
mardi 28 avril 2015
Statut
Membre
Dernière intervention
29 avril 2015
-
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

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
463
Bonjour,

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

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 86768 internautes nous ont dit merci ce mois-ci

cherche!
Messages postés
3
Date d'inscription
mardi 28 avril 2015
Statut
Membre
Dernière intervention
29 avril 2015

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
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
463
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+
cherche!
Messages postés
3
Date d'inscription
mardi 28 avril 2015
Statut
Membre
Dernière intervention
29 avril 2015

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