Joindre Colonnes
Résolu
mic6259
Messages postés
371
Statut
Membre
-
mic6259 Messages postés 371 Statut Membre -
mic6259 Messages postés 371 Statut Membre -
Bonjour,
J'ai trouvé ce petit code qui m’intéresse beaucoup.
Serrait-il possible d'avoir une seule macro au lieu des 2?
Pourriez-vous ajouter de façon a ce que je puisse choisir les colonnes(par exemple dans A je choisi les colonnes B-C et E aussi dans G les colonnes I-J et L)?
Par la suite je modifierez selon mes besoins,les codes que vous aurez changer.
Merci beaucoup pour votre aide
Cordialement
https://cjoint.com/c/HIwfp7XqGV8
J'ai trouvé ce petit code qui m’intéresse beaucoup.
Serrait-il possible d'avoir une seule macro au lieu des 2?
Pourriez-vous ajouter de façon a ce que je puisse choisir les colonnes(par exemple dans A je choisi les colonnes B-C et E aussi dans G les colonnes I-J et L)?
Par la suite je modifierez selon mes besoins,les codes que vous aurez changer.
Merci beaucoup pour votre aide
Cordialement
https://cjoint.com/c/HIwfp7XqGV8
1 réponse
-
Bonjour Mic,
Voici un code qui reprend sur une même macro l'analyse des colonnes souhaité.
Sub Regroupe() Dim i%, j%, dl% dl = 2 Range("A1:A" & Range("A65536").End(xlUp).Row).ClearContents For i = 2 To 5 'de la colonne B à E If i <> 4 Then 'ignorer la colonne D For j = 1 To Cells(65536, i).End(xlUp).Row 'analyse la colonne jusqu'à la dernière cellule non vide If Cells(j, i).Value <> "" Then 'si cellule non vide Cells(dl, 1).Value = Cells(j, i).Value 'renvoi la valeur en colonne A à partir de la ligne 2 dl = dl + 1 End If Next j End If Next i Range("G1:G" & Range("G65536").End(xlUp).Row).ClearContents dl = 2 For i = 9 To 12 'de la colonne I à L If i <> 11 Then 'ignorer la colonne K For j = 1 To Cells(65536, i).End(xlUp).Row 'analyse la colonne jusqu'à la dernière cellule non vide If Cells(j, i).Value <> "" Then 'si cellule non vide Cells(dl, 7).Value = Cells(j, i).Value 'renvoi la valeur en colonne G à partir de la ligne 2 dl = dl + 1 End If Next j End If Next i End Sub
A tester, bonne journée
jc-
-
Dans le code ci-contre, dans les parties " array(1,2,...)" remplace les chiffres existants par les indexes des colonnes que tu souhaites analyser
Option Explicit Sub Regroupe() Dim i%, j%, dl%, col As Variant Range("A1:A" & Range("A65536").End(xlUp).Row).ClearContents dl = 2 For Each col In Array(2, 3, 5) 'lister les numeros des colonnes à analyser For j = 1 To Cells(65536, col).End(xlUp).Row If Cells(j, col).Value <> "" Then Cells(dl, 1).Value = Cells(j, col).Value 'remplacer le "1" par le numero de colonne où afficher les resultats dl = dl + 1 End If Next j Next col Range("G1:G" & Range("G65536").End(xlUp).Row).ClearContents dl = 2 For Each col In Array(9, 10, 12) 'lister les numeros des colonnes à analyser For j = 1 To Cells(65536, col).End(xlUp).Row If Cells(j, col).Value <> "" Then Cells(dl, 7).Value = Cells(j, col).Value 'remplacer le "7" par le numero de colonne où afficher les resultats dl = dl + 1 End If Next j Next col End Sub
Bonne journée
Jc -
-