VBA - copier coller multilignes

  • Initiateur de la discussion Initiateur de la discussion Excelced
  • Date de début Date de début

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 !

Excelced

XLDnaute Junior
Bonjour à tous,

c'est mon premier post sur le forum, je rejoins tout juste la communauté.
je me débrouille sur Excel mais pour des besoins de rapidité professionnelle je souhaite me mettre à VBA.
pas une mince affaire celà dit...

j'ai une question concernant un problème de copier coller.
je souhaite copier une ligne de ma feuille "Réalisé" et la coller sur 12 lignes à la suite sur ma feuille "Tri".
ensuite passer à la ligne 2 de ma feuille "Réalisé" et la coller sur lignes à la suite de ma feuille "Tri"
etc...sur toutes mes ligne de la feuille "Réalisé"

j'ai écrite le code suivant qui fonctionne en partie (disons que je n'ai pas message d'erreur) sauf qu'il me colle des lignes vides
et que je ne sais absolument pas comment copier sur 12 lignes.

Sub CopierLigne()

Dim compteur As Integer
Dim MaLigne As Variant
Sheets("Réalisé").Select
MaLigne = Range("A5").End(xlDown).Address
MaLigne = Range(MaLigne).Row
For compteur = 5 To MaLigne
Rows(compteur & ":" & compteur).Select
Selection.Copy
Sheets("Tri").Select
Range("a1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveSheet.Paste
Next compteur

End Sub

Merci d'avance pour vos lumières.

ps: je me suis procuré le livre "Excel et VBA" de Mikaël BIDAULT au édition PEARSON.
je le trouve assez bien pour débuter, il m'a l'air complet.
si vous avez d'autres ouvrages à me conseiller pour débuter, je suis preneur.
 
Re : VBA - copier coller multilignes

Bonsoir
Essayer comme ça:
VB:
Sub CopierLigne()
Dim Le As Long, Ls As Long
Ls = Worksheets("Réalisé").[A65536].End(xlUp).Row + 1
For Le = 5 To Worksheets("Réalisé").[A65536].End(xlUp).Row
   Worksheets("Réalisé").Rows(Le).Copy Destination:=Worksheets("Tri").Rows(Ls).Resize(12)
   Ls = Ls + 12
   Next Le
End Sub
À+
 
Re : VBA - copier coller multilignes

Joins le classeur alors. Je ne vois pas pourquoi ça ne fonctionnerait pas si la feuille "Réalisé" n'est pas vide dès la ligne 5.
As tu au moins demandé à l'exécuter, la macro ?
Ou mets un Stop au début puis déroule en pas à pas.
À+
 
Re : VBA - copier coller multilignes

Après vérif, ça fonctionne.
je ne voyais pas le résultat parce qu'il les colles (dans la feuille Tri) sur la ligne correspondant à la dernière ligne de ma feuille "Réalisé"...soit relativement bas 🙂

si il pouvait les coller sur la première ligne vide de la feuille Tri, ce serait impeccable.

merci pour ton aide
 
Re : VBA - copier coller multilignes

Autant pour moi, je me suis trompé de feuille à la 3ème ligne:
VB:
Ls = Worksheets("Tri").[A65536].End(xlUp).Row + 1
Si j'avais eu le classeur joint, ça ne me serais pas arrivé: j'aurais testé.
À+
 
Re : VBA - copier coller multilignes

Bonsoir

Le code de Dranreb fonctionne (il faut descendre dans le feuille pour voir les données)

Voici une variante
Code:
Sub a()
Dim i&
With Worksheets(1)
For i = 5 To .[A65536].End(xlUp).Row
 .Rows(i).Copy Destination:=Worksheets(2).[A65536].End(xlUp)(2).Resize(12)
 Next i
 End With
End Sub

EDITION
: Bonsoir Dranreb 😉
 
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
296
Réponses
2
Affichages
287
Réponses
5
Affichages
179
Retour