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
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
A voir également:

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
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.
0
jordane45 Messages postés 38178 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mai 2024 4 668
15 avril 2016 à 10:44
Bonjour,

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").Select

A changer par:
  Range("A" & i & ":E" &i).Select
0
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
15 avril 2016 à 11:50
merci , mais je pense qu il faut que j'arrive a selectionner les ligne paires a les coller dans un autres onglets et faire de meme avec les lignes impaires
0
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020
19 avril 2016 à 13:46
Bonjour,
Ta question m'intéresse énormément car j'ai aussi un problème similaire. Je pense revenir vers toi et ta question prochainement.
0
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
Etant donné que j'ai eu la solution, je me ferai un plaisir de vous aider.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
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
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

0
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
-1