Macro Vba jointure de deux lignes succesives
van_van
Messages postés
60
Date d'inscription
Statut
Membre
Dernière intervention
-
van_van Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
van_van Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
Bonjour j'essaye de faire une boucle
Enfaite sur ma feuille excel, il y'a une multitude lignes, sauf que a chaque choix deux lignes succevices ne devrait en former qu'une.
Ainsi ma deuxieme ligne devrai venir se collé a la premiere ligne apres la derniere colonne non vide et apres supprimer la deuxieme ligne,ensuite faire pareil avec la quatrieme ligne apres avec la sixieme ligne et ainsi de suite.
Est ce impossible?
Merci d'avance
Enfaite sur ma feuille excel, il y'a une multitude lignes, sauf que a chaque choix deux lignes succevices ne devrait en former qu'une.
Ainsi ma deuxieme ligne devrai venir se collé a la premiere ligne apres la derniere colonne non vide et apres supprimer la deuxieme ligne,ensuite faire pareil avec la quatrieme ligne apres avec la sixieme ligne et ainsi de suite.
Est ce impossible?
Merci d'avance
A voir également:
- Macro Vba jointure de deux lignes succesives
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Partage de photos en ligne - Guide
- Comment faire deux colonnes sur word - Guide
3 réponses
Private Sub CommandButton11_Click() Dim i As Integer Dim j As Integer For i = 5 To 52533 For j = 4 To 53533 Range("Ai:Ei").Select Selection.Copy Range("Fj").Select ActiveSheet.Paste Rows("i:i").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp Next Next End Sub
voici mon code
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
Bonjour à tous,
d'autre part la déclaration prévoit des integer et on boucle jusqu'à >52000...
le mieux serait de
d'autre part la déclaration prévoit des integer et on boucle jusqu'à >52000...
le mieux serait de
Mettre un extrait du classeur ( env 1000 lignes) sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse
Bonjour,
Voici quelques lignes qui répondent je pense à ta demande.
Première ligne à renseigner est la 3
Option Explicit
Sub lignes()
Dim I As Variant
For I = 4 To 52533 Step 2
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit For
'sortie de boucle si vides? A adapter pour ne pas répeter la boucle 52000 fois pour rien
Range(Cells(I, 1), Cells(I, 5)).Select
Selection.Copy
Cells(I - 1, 6).PasteSpecial
Next I
For I = 3 To 52533
Do While Cells(I, 6) = ""
Cells(I, 6).EntireRow.Delete
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit Do
Loop
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit For
Next I
End Sub
Voici quelques lignes qui répondent je pense à ta demande.
Première ligne à renseigner est la 3
Option Explicit
Sub lignes()
Dim I As Variant
For I = 4 To 52533 Step 2
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit For
'sortie de boucle si vides? A adapter pour ne pas répeter la boucle 52000 fois pour rien
Range(Cells(I, 1), Cells(I, 5)).Select
Selection.Copy
Cells(I - 1, 6).PasteSpecial
Next I
For I = 3 To 52533
Do While Cells(I, 6) = ""
Cells(I, 6).EntireRow.Delete
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit Do
Loop
If Cells(I, 1) = "" And Cells(I, 2) = "" And Cells(I, 3) = "" And Cells(I, 4) = "" And Cells(I, 5) = "" Then Exit For
Next I
End Sub
Je n'ai pas le temps de regarder en détail ton code ...
mais je peux déjà te dire que si tu veux utiliser des variables dans les plages de cellules... il va falloir que tu fasses de la concaténation...
Par exemple :
A changer par:
Ta question m'intéresse énormément car j'ai aussi un problème similaire. Je pense revenir vers toi et ta question prochainement.