Excel - Copier des lignes 2 à 2 dans colonne
EmilieM
-
EmilieM -
EmilieM -
Bonjour,
Je rencontre un petit probléme. Je dispose de données dans 2 colonnes distinstes et je voudrais copier l'ensemble de ces données dans une méme colonne mais en intercallant les valeurs des 2 colonnes d'origines.
Ci dessous un exemple de la macro que j'ai pu réaliser en enregistrement directement le mode opératoire:
Range("L2").Select
Selection.Copy
Range("N2").Select
ActiveSheet.Paste Link:=True
Range("M2").Select
Application.CutCopyMode = False
Selection.Copy
Range("N3").Select
ActiveSheet.Paste Link:=True
Range("L3").Select
Application.CutCopyMode = False
Selection.Copy
Range("N4").Select
ActiveSheet.Paste Link:=True
Range("M3").Select
Application.CutCopyMode = False
Selection.Copy
Range("N5").Select
ActiveSheet.Paste Link:=True
Range("L4").Select
Application.CutCopyMode = False
Selection.Copy
Range("N6").Select
ActiveSheet.Paste Link:=True
Range("M4").Select
Application.CutCopyMode = False
Selection.Copy
Range("N7").Select
ActiveSheet.Paste Link:=True
Range("L5").Select
Application.CutCopyMode = False
Selection.Copy
Range("N8").Select
ActiveSheet.Paste Link:=True
Range("M5").Select
Application.CutCopyMode = False
Selection.Copy
Range("N9").Select
ActiveSheet.Paste Link:=True
Range("L6").Select
Application.CutCopyMode = False
Selection.Copy
Range("N10").Select
ActiveSheet.Paste Link:=True
Range("M6").Select
Application.CutCopyMode = False
Selection.Copy
Range("N11").Select
ActiveSheet.Paste Link:=True
Range("L7").Select
Application.CutCopyMode = False
Selection.Copy
Ceci étant à réaliser pour un nombre infini de valeurs.
Est ce que quelqu'un aurait une petite idée de la macro à réaliser?
Emilie.
Je rencontre un petit probléme. Je dispose de données dans 2 colonnes distinstes et je voudrais copier l'ensemble de ces données dans une méme colonne mais en intercallant les valeurs des 2 colonnes d'origines.
Ci dessous un exemple de la macro que j'ai pu réaliser en enregistrement directement le mode opératoire:
Range("L2").Select
Selection.Copy
Range("N2").Select
ActiveSheet.Paste Link:=True
Range("M2").Select
Application.CutCopyMode = False
Selection.Copy
Range("N3").Select
ActiveSheet.Paste Link:=True
Range("L3").Select
Application.CutCopyMode = False
Selection.Copy
Range("N4").Select
ActiveSheet.Paste Link:=True
Range("M3").Select
Application.CutCopyMode = False
Selection.Copy
Range("N5").Select
ActiveSheet.Paste Link:=True
Range("L4").Select
Application.CutCopyMode = False
Selection.Copy
Range("N6").Select
ActiveSheet.Paste Link:=True
Range("M4").Select
Application.CutCopyMode = False
Selection.Copy
Range("N7").Select
ActiveSheet.Paste Link:=True
Range("L5").Select
Application.CutCopyMode = False
Selection.Copy
Range("N8").Select
ActiveSheet.Paste Link:=True
Range("M5").Select
Application.CutCopyMode = False
Selection.Copy
Range("N9").Select
ActiveSheet.Paste Link:=True
Range("L6").Select
Application.CutCopyMode = False
Selection.Copy
Range("N10").Select
ActiveSheet.Paste Link:=True
Range("M6").Select
Application.CutCopyMode = False
Selection.Copy
Range("N11").Select
ActiveSheet.Paste Link:=True
Range("L7").Select
Application.CutCopyMode = False
Selection.Copy
Ceci étant à réaliser pour un nombre infini de valeurs.
Est ce que quelqu'un aurait une petite idée de la macro à réaliser?
Emilie.
A voir également:
- Excel - Copier des lignes 2 à 2 dans colonne
- Supercopier 2 - Télécharger - Gestion de fichiers
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Faire 2 colonnes sur word - Guide
11 réponses
et voilà une macro
:-x
Option Base 1 Sub unsurdeux() Dim tablo Dim derlig As Long, cptr as long, cptr_tablo as long derlig = Range("L65536").End(xlUp).Row ReDim tablo(derlig * 2 - 2) cptr_tablo = 1 For cptr = 2 To derlig tablo(cptr_tablo) = Cells(cptr, 12) cptr_tablo = cptr_tablo + 1 tablo(cptr_tablo) = Cells(cptr, 13) cptr_tablo = cptr_tablo + 1 Next Application.ScreenUpdating = False Range("N2").Resize(UBound(tablo), 1) = Application.Transpose(tablo) End Sub
:-x
Alors :
Prends soin de mettre un nom de champ en N1 et utilise ce code :
Prends soin de mettre un nom de champ en N1 et utilise ce code :
Sub copie_L_et_M_en_N() Dim derlig, i As Integer derlig = Range("L65536").End(xlUp).Row For i = 2 To derlig Cells(i, 12).Copy Range("N65536").End(xlUp).Offset(1, 0) Cells(i, 13).Copy Range("N65536").End(xlUp).Offset(1, 0) Next End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nombre infini? 500,1000,100000,100000000000.....?
en attendant, par formule en N2
heu... un bug, je reviens
et tu double-clique sur la poignée d'implémentation (carré noir en bas à droite de N2)
mais si tu tiens à une macro, y'en a pour 5 minutes.... donc, tu dis
:-x
en attendant, par formule en N2
heu... un bug, je reviens
et tu double-clique sur la poignée d'implémentation (carré noir en bas à droite de N2)
mais si tu tiens à une macro, y'en a pour 5 minutes.... donc, tu dis
:-x
En appliquant la formule DECALER que tu viens de me donner cela ne fonctionne pas car il ne m'affiche que les données de la colonne L or dans ma colonne N je souhaiterai les données de la colonne L et M .
Peut étre qu'un macro serait plus judicieuse. Je sais pas trop car je n'y connais pas grand chose en macro.....
Nombre infini : 20 000 valeurs maximum dans les colonnes L et M.
Peut étre qu'un macro serait plus judicieuse. Je sais pas trop car je n'y connais pas grand chose en macro.....
Nombre infini : 20 000 valeurs maximum dans les colonnes L et M.
Ah oui 20 000 valeurs quand même...
Mon petit code risque d'être long...
Par nom de champ en N1 je voulais juste te dire de ne pas laisser N1 vide... Mets un titre quoi.
Pour la macro, attendons plutôt la solution de michel_m (que je salue au passage) qui te proposera de toutes manières quelque chose de plus rapide que ma première option.
Mon petit code risque d'être long...
Par nom de champ en N1 je voulais juste te dire de ne pas laisser N1 vide... Mets un titre quoi.
Pour la macro, attendons plutôt la solution de michel_m (que je salue au passage) qui te proposera de toutes manières quelque chose de plus rapide que ma première option.
Voici un autre exemple avec les données en colonne A et B et en colonne C les cellules copier
A B C
Segments Prof Macro
1 3 1
3 3 3
2 4 3
4 5 3
6 6 2
5 8 4
4
5
6
6
5
8
Et voici la macro enregistrée :
Range("A2").Select
Selection.Copy
Range("C2").Select
ActiveSheet.Paste Link:=True
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Range("C3").Select
ActiveSheet.Paste Link:=True
Range("A3").Select
Application.CutCopyMode = False
Selection.Copy
Range("C4").Select
ActiveSheet.Paste Link:=True
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Range("C5").Select
ActiveSheet.Paste Link:=True
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Range("C6").Select
ActiveSheet.Paste Link:=True
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Range("C7").Select
ActiveSheet.Paste Link:=True
Range("A5").Select
Application.CutCopyMode = False
Selection.Copy
Range("C8").Select
ActiveSheet.Paste Link:=True
Range("B5").Select
Application.CutCopyMode = False
Selection.Copy
Range("C9").Select
ActiveSheet.Paste Link:=True
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Range("C10").Select
ActiveSheet.Paste Link:=True
Range("B6").Select
Application.CutCopyMode = False
Selection.Copy
Range("C11").Select
ActiveSheet.Paste Link:=True
Range("A7").Select
Application.CutCopyMode = False
Selection.Copy
Range("C12").Select
ActiveSheet.Paste Link:=True
Range("B7").Select
Application.CutCopyMode = False
Selection.Copy
Range("C13").Select
ActiveSheet.Paste Link:=True
Range("C25").Select
Sachant qu'il y a bien evidemment X valeurs dans A et B comme dans L et M....
Emilie.
A B C
Segments Prof Macro
1 3 1
3 3 3
2 4 3
4 5 3
6 6 2
5 8 4
4
5
6
6
5
8
Et voici la macro enregistrée :
Range("A2").Select
Selection.Copy
Range("C2").Select
ActiveSheet.Paste Link:=True
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Range("C3").Select
ActiveSheet.Paste Link:=True
Range("A3").Select
Application.CutCopyMode = False
Selection.Copy
Range("C4").Select
ActiveSheet.Paste Link:=True
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Range("C5").Select
ActiveSheet.Paste Link:=True
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Range("C6").Select
ActiveSheet.Paste Link:=True
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Range("C7").Select
ActiveSheet.Paste Link:=True
Range("A5").Select
Application.CutCopyMode = False
Selection.Copy
Range("C8").Select
ActiveSheet.Paste Link:=True
Range("B5").Select
Application.CutCopyMode = False
Selection.Copy
Range("C9").Select
ActiveSheet.Paste Link:=True
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Range("C10").Select
ActiveSheet.Paste Link:=True
Range("B6").Select
Application.CutCopyMode = False
Selection.Copy
Range("C11").Select
ActiveSheet.Paste Link:=True
Range("A7").Select
Application.CutCopyMode = False
Selection.Copy
Range("C12").Select
ActiveSheet.Paste Link:=True
Range("B7").Select
Application.CutCopyMode = False
Selection.Copy
Range("C13").Select
ActiveSheet.Paste Link:=True
Range("C25").Select
Sachant qu'il y a bien evidemment X valeurs dans A et B comme dans L et M....
Emilie.
Merci pour vos réponses.