Copier coller ensemble cellules paires vers colonne adjacente.
Résolu
bo456
Messages postés
1
Statut
Membre
-
bo456 -
bo456 -
Bonjour à tous,
Je cherche à copier toutes les cellules ayant un numéro de ligne paire d'une colonne pour les coller vers la colonne adjacente en appliquant un retrait de 1 cellule vers le haut via VBA sous excel 2013.
Concrètement mon tableau est le suivant :
... C D E
1 ...x y z
2 .... n
3 ...x y z
4 .... n
5 ...x y z
6 .... n
7 ...x y z
8 .... n
Tous les x et les z ont été fusionnés, et j'aimerai mettre les n dans une nouvelle colonne entre D et E pour arriver à ce résultat :
... C D E F
1 ...x y n z
2 ....
3 ...x y n z
4 ....
5 ...x y n z
6 ....
7 ...x y n z
8 ....
Le code que j'ai trouvé me permet de sélectionner et copier les n mais en collant manuellement tous mes n sont resserrés d'un bloc :
Sub copiercol()
Dim i As Long
Dim rng As Range
'
'
'Mettre les valeurs correctes de iMin et iMax
'
Const iMin As Long = 4
Const iMax As Long = 378
Set rng = Range("D" & iMin & ":" & "D" & iMin)
For i = iMin + 2 To iMax Step 2
Set rng = Union(rng, Range("D" & i & ":" & "D" & i))
selection.Copy
Next i
rng.Select
End Sub
Cordialement,
Je cherche à copier toutes les cellules ayant un numéro de ligne paire d'une colonne pour les coller vers la colonne adjacente en appliquant un retrait de 1 cellule vers le haut via VBA sous excel 2013.
Concrètement mon tableau est le suivant :
... C D E
1 ...x y z
2 .... n
3 ...x y z
4 .... n
5 ...x y z
6 .... n
7 ...x y z
8 .... n
Tous les x et les z ont été fusionnés, et j'aimerai mettre les n dans une nouvelle colonne entre D et E pour arriver à ce résultat :
... C D E F
1 ...x y n z
2 ....
3 ...x y n z
4 ....
5 ...x y n z
6 ....
7 ...x y n z
8 ....
Le code que j'ai trouvé me permet de sélectionner et copier les n mais en collant manuellement tous mes n sont resserrés d'un bloc :
Sub copiercol()
Dim i As Long
Dim rng As Range
'
'
'Mettre les valeurs correctes de iMin et iMax
'
Const iMin As Long = 4
Const iMax As Long = 378
Set rng = Range("D" & iMin & ":" & "D" & iMin)
For i = iMin + 2 To iMax Step 2
Set rng = Union(rng, Range("D" & i & ":" & "D" & i))
selection.Copy
Next i
rng.Select
End Sub
Cordialement,
A voir également:
- Copier coller ensemble cellules paires vers colonne adjacente.
- Déplacer colonne excel - Guide
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Trier colonne excel - Guide
2 réponses
Bonjour
Pas sûr d'avoir tout compris si au départ, "xyz" sont dans des cellules séparées ou dans une seule cellule et qu'en sortie tout doit être fusionné en une seule cellule.
J'ai compris ceci
A tester
Cdlt
Pas sûr d'avoir tout compris si au départ, "xyz" sont dans des cellules séparées ou dans une seule cellule et qu'en sortie tout doit être fusionné en une seule cellule.
J'ai compris ceci

Sub Copier() Application.ScreenUpdating = False For i = 2 To [D10000].End(xlUp).Row Step 2 If i = "" Then Exit Sub Cells(i - 1, 6) = Cells(i - 1, "C") & Cells(i - 1, "D") & Cells(i, "D") & Cells(i - 1, "E") Next i End Sub
A tester
Cdlt
Bonjour bo456,
Peut-être que je me trompe, mais j'ai compris l'énoncé de ton problème
d'une façon différente de celle de Frenchie83 (que je salue en passant).
Aussi, je te propose la solution suivante :
Fichier Excel 2003 : Exercice Vers colonne adjacente
Je compte sur toi pour me dire ce que tu en penses.
Cordialement. 😊
Peut-être que je me trompe, mais j'ai compris l'énoncé de ton problème
d'une façon différente de celle de Frenchie83 (que je salue en passant).
Aussi, je te propose la solution suivante :
Fichier Excel 2003 : Exercice Vers colonne adjacente
Je compte sur toi pour me dire ce que tu en penses.
Cordialement. 😊
Cells(i - 1, 5) = Cells(i, "D").Bonne journée