Création marco pour déplacer ligne excel dans un autre fichier

Résolu/Fermé
piperboxer Messages postés 3 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014 - 25 nov. 2014 à 14:46
piperboxer Messages postés 3 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014 - 25 nov. 2014 à 16:33
Bonjour,

Tout d'abord je suis nouvelle sur le forum et vraiment novice en marcro excel, voilà pourquoi j'arrive sur ce forum en espèrant que quelq'un pourra m'aider.

Je voudrais en fait créer une macro qui permettrait de déplacer une ligne complète excel dans un autre fichier et ce, si par exemple, je tape "4" dans une cellule de la ligne qui doit être déplacée.
Help! Merci!!!!!
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
25 nov. 2014 à 15:55
Bonjour,

si par exemple, je tape "4" dans une cellule de la ligne qui doit être déplacée.

Une cellule.. n'importe laquelle ou bien d'une colonne en particulier ?


Je voudrais en fait créer une macro qui permettrait de déplacer une ligne complète excel dans un autre fichier

En utilisant l'enregistreur de macro.. cela te donnera le début du code à utiliser pour réaliser ton "programme".

déplacer une ligne complète excel dans un autre fichier et ce, si par exemple, je tape "4" dans une cellule de la ligne qui doit être déplacée.

Si tu veux que l'action se lance lorsque tu saisis quelque chose dans une cellule.. il faut utiliser la méthode worksheet_change de ta feuille excel.

par exemple :
Private Sub Worksheet_Change(ByVal Target As Range)
'----------------------------------------
'Target est un objet
'de type range qui
'correspond à la cellule modifiée
'----------------------------------------

'si tu veux lancer la macro... que si
' le chiffre 4 est saisi dans la colonne B
If Target.Column = 2 Then
 If Target.Value = 4 Then
 Call deplacerLigne(Target.Row)
End If
End If


End Sub

Sub deplacerLigne(ligne As Integer)
    ActiveSheet.Rows(ligne).Select
    Selection.Cut
    Windows("Classeur2").Activate
    ActiveSheet.Paste
End Sub



Bien sûr ce n'est qu'un exemple... c'est à adapter à tes besoins....
0
piperboxer Messages postés 3 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
25 nov. 2014 à 16:03
Merci pour ta réponse.
Il s'agit plusieurs lignes par client dont j'indiquerai un "4" dans la colonne "statut".
Et je voudrais que les lignes concernées aillent dans une autre sheet.

Désolée mais trop débutante pour savoir ce que c'est le worsheet_change....
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
25 nov. 2014 à 16:16
...

Désolée mais trop débutante pour savoir ce que c'est le worsheet_change....

Mais heureusement ... internet est là non ?
Par exemple : https://silkyroad.developpez.com/VBA/EvenementsFeuille/#LII-E
Ou encore : https://docs.microsoft.com/fr-fr/office/vba/api/excel.worksheet.change?redirectedfrom=MSDN


Il s'agit plusieurs lignes par client dont j'indiquerai un "4" dans la colonne "statut".

Tu connais le NUMERO de cette colonne ? .. si oui... il suffit de remplacer mon "2" par ce numéro dans le code que je t'ai donné.

je voudrais que les lignes concernées aillent dans une autre sheet.

Le code que je t'ai donné (en me basant sur l'énoncé de ta question .. au début de cette conversation).. fait que ça déplace la ligne dans la feuille "active" d'un classeur (ouvert) nommé : "classeur2"
Bien sûr.. pour faire totalement et correctement les choses.. avant de "déplacer" il faudrait déterminer l'emplacement de la première ligne vide disponible pour y mettre TA ligne.. sinon ça va écraser la ligne précédente...


Désolée mais trop débutante

Donc au final tu veux quoi ???
Qu'on fasse la macro entièrement pour toi ?
Si c'est ça... il faut le dire ... car moi en lisant ta question je suppose que tu veux apprendre.. que tu veux essayer de le coder toi même ... pas que tu désires faire appel à des sous-traitants (..gratuitement..) ....
Mais n'aie pas peur de le demander franco.. des membres de ce forum pourront le faire sans souci... il suffit juste d'être clair dans l'énoncé de sa "question".
0
piperboxer Messages postés 3 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
25 nov. 2014 à 16:33
Je vais tester ce soir ou demain matin! Un grand merci en tout cas
0