Macro Vba jointure de deux lignes succesives
Fermé
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
-
15 avril 2016 à 10:14
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017 - 19 avril 2016 à 15:29
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017 - 19 avril 2016 à 15:29
A voir également:
- Macro Vba jointure de deux lignes succesives
- Erreur 1004 vba ✓ - Forum VB / VBA
- Macro logiciel - Télécharger - Organisation
- Deux comptes whatsapp - Guide
- Vba appeler une macro - Astuces et Solutions
- Macro recorder - Télécharger - Confidentialité
3 réponses
van_van
Messages postés
60
Date d'inscription
mercredi 6 avril 2016
Statut
Membre
Dernière intervention
9 janvier 2017
Modifié par jordane45 le 15/04/2016 à 10:42
Modifié par jordane45 le 15/04/2016 à 10:42
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. |
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
15 avril 2016 à 11:54
15 avril 2016 à 11:54
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
15 avril 2016 à 10:44
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 :
Range("Ai:Ei").SelectA changer par:
Range("A" & i & ":E" &i).Select15 avril 2016 à 11:50
19 avril 2016 à 13:46
Ta question m'intéresse énormément car j'ai aussi un problème similaire. Je pense revenir vers toi et ta question prochainement.
19 avril 2016 à 15:29