Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Exporter des données vers une autre feuille...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Dans le fichier joint (liste d'adhérents d'une association), un adhérent souhaite quitter l'association.
Il me faut alors copier les données de la ligne le concernant (colonnes A à M) dans le fichier départ à la suite des autres départs dans la colonne G (donc dans le cas présent en G14)
A ce jour, je le fais manuellement en me trompant une fois sur deux. J'ai donc fait une macro (macro1) qui s'active avec le bouton rouge. Évidemment, j'ai fait cette macro avec l'enregistreur donc il ne sait faire que sélectionner les cellules A à M de la ligne 18... Serait-il possible de créer une macro qui prenne en compte la ligne saisie (qui apparait en bleu) et copier ces données automatiquement dans la feuille départs dans le 1er G libre (ici G14) ?
Ci-dessous le code de la macro. Fichier en PJ.
Bien cordialement,
Sub Macro1()
'
' Macro1 Macro
'

'
Range("A18:M18").Select
Selection.Copy
Sheets("départs").Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 

Pièces jointes

Bonjour Constantin,
Un essai en PJ avec :
VB:
Sub Macro1()
Dim L%, DL%
L = Selection.Row                                                               ' Ligne sélectionnée
With Sheets("départs")
    DL = 1 + .Cells(Rows.Count, "G").End(xlUp).Row                              ' Première ligne vide
    .Range(.Cells(DL, "G"), .Cells(DL, "S")) = Range("A" & L & ":M" & L).Value  ' Copie des valeurs
End With
End Sub

Ensuite que faire après la copie ? On supprime la ligne dans base de données ou on laisse ainsi ?
 

Pièces jointes

D'abord un grand merci ! C'est tout bonnement super...
Je vais essayer d'ajouter un MsgBox (oui, non) parce que la macro va tellement vite qu'une maladresse de saisie pourrait faire des dégâts...
Dans l'immédiat je préfère ne pas enlever les adhérents en partance automatiquement.
Je vais aussi d'ajouter un Range final qui cible le fichier départs. J'ai réussi à comprendre le code, inutile de dire que je n'y serai pas arrivé.
Bon, je m'y mets et comme d'habitude, je crie si je n'y arrive pas (à mon avis, je vais galérer avec le Msgbox)
Remarque : Il n'est pas question de supprimer la ligne (ce qui supprimerait un jardin mais uniquement effacer le contenu des cellules (colonnes E à CS)
A bientôt...
 
J'ai pondu ceci mais ça plante
Sub Macro1()
Dim L%, DL%
L = Selection.Row ' Ligne sélectionnée
With Sheets("départs")
DL = 1 + .Cells(Rows.Count, "G").End(xlUp).Row ' Première ligne vide
.Range(.Cells(DL, "G"), .Cells(DL, "S")) = Range("A" & L & ":M" & L).Value ' Copie des valeurs
End With
Sheets("départs").Select
Range(.Cells(DL, "G")).Select
End Sub

Au secours !
 
ajouter un MsgBox (oui, non) parce que la macro va tellement vite qu'une maladresse de saisie pourrait faire des dégâts
Testez cette PJ avec :
VB:
Sub Macro1()
Dim L%, DL%, Rep$
L = Selection.Row                                                               ' Ligne sélectionnée
Rep = MsgBox("Voulez vous exporter la ligne " & L & " concernant " & Cells(L, "E") & " " & Cells(L, "F") & " ?", _
        vbExclamation + vbYesNo, "Demande de confirmation.")
If Rep = vbNo Then Exit Sub
With Sheets("départs")
    DL = 1 + .Cells(Rows.Count, "G").End(xlUp).Row                              ' Première ligne vide
    .Range(.Cells(DL, "G"), .Cells(DL, "S")) = Range("A" & L & ":M" & L).Value  ' Copie des valeurs
End With
End Sub
Cela donne :

Une bonne aide pour les msgbox :
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…