Macro Excel: concatener plusieurs lignes non vide
gregt73
Messages postés
55
Statut
Membre
-
titeufdu89 Messages postés 387 Statut Membre -
titeufdu89 Messages postés 387 Statut Membre -
Bonjour,
Etant (toujours) pas très fort en vba, et après plusieurs essai et recherche sur les forums, je pose ma question en espérant que qq1 pourra m'aider:
Dans une colonne (I), j'ai des lignes non vides qui se suivent, puis parfois 1,2 ou 3 lignes vide puis, de nouveau des lignes non vides, etc...
J'aurais voulu concatener toutes les lignes non vides dans la 1ere cellule non vide.
ex: tata
toto
tutu
vide
vide
lala
lolo
devrait devenir
tata - toto - tutu
vide
vide
vide
vide
lala - lolo
vide
J'espère avoir été assez clair dans mon explication.
Merci d'avance.
Etant (toujours) pas très fort en vba, et après plusieurs essai et recherche sur les forums, je pose ma question en espérant que qq1 pourra m'aider:
Dans une colonne (I), j'ai des lignes non vides qui se suivent, puis parfois 1,2 ou 3 lignes vide puis, de nouveau des lignes non vides, etc...
J'aurais voulu concatener toutes les lignes non vides dans la 1ere cellule non vide.
ex: tata
toto
tutu
vide
vide
lala
lolo
devrait devenir
tata - toto - tutu
vide
vide
vide
vide
lala - lolo
vide
J'espère avoir été assez clair dans mon explication.
Merci d'avance.
Configuration: Windows / Internet Explorer 11.0
A voir également:
- Macro Excel: concatener plusieurs lignes non vide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
4 réponses
Bonjour,
C'est vrai que je n'ai pas été très précis.
Réponse 1: Oui, je voudrais garder les lignes vides.
Réponse 2 : Non, il y a plusieurs colonnes dans mon fichier.
Merci d'avance pour l'aide.
C'est vrai que je n'ai pas été très précis.
Réponse 1: Oui, je voudrais garder les lignes vides.
Réponse 2 : Non, il y a plusieurs colonnes dans mon fichier.
Merci d'avance pour l'aide.
Bonjour,
Tu peux essayer ce code, a coller soit dans un module, soit dans le module de la feuille contenant ton tableau. A mettre à jour en fonction des indications en vert.
Bonne journée
Jc
Tu peux essayer ce code, a coller soit dans un module, soit dans le module de la feuille contenant ton tableau. A mettre à jour en fonction des indications en vert.
Sub concatener_col_I()
With Worksheets("Feuil1") '<<<< nom de la feuille à mettre a jour ou remplacer par 'With Activesheet' pour la feuille active
For i = 2 To .Range("I65536").End(xlUp).Row '<<< remplace 2 par 1 si ton tableau ne comporte pas d'en-tête, ou plus de 2 si tu as plusieurs lignes d'en-tête
If .Range("I" & i) <> "" Then
cpte = 0
msg = ""
Do While .Range("I" & i + cpte) <> ""
If cpte = 0 Then
msg = .Range("I" & i + cpte).Value
Else
msg = msg & " - " & .Range("I" & i + cpte).Value
End If
.Range("i" & i + cpte) = ""
cpte = cpte + 1
Loop
.Range("I" & i) = msg
i = i + cpte
End If
Next i
End With
End Sub
Bonne journée
Jc
Bonjour titeufdu89,
Ca marche nickel..!!!
J'étais parti dans une boucle du même style, mais alors j'étais loin, très loin du compte..! -:)
Merci beaucoup.
Bonne journée.
Ca marche nickel..!!!
J'étais parti dans une boucle du même style, mais alors j'étais loin, très loin du compte..! -:)
Merci beaucoup.
Bonne journée.
Cool!!!
En VBA il n'y a pas de bonne ou mauvaise réponse, il y a juste différentes interprétations du problème et de la façon de le résoudre ;-)
C'est pas parce que mon code fonctionne que le tiens n'aurait pas fonctionné, c'est ainsi que l'on apprend et que l'on progresse alors si j'ai un conseil à te donner... persévère!
Bonne continuation
Jc
En VBA il n'y a pas de bonne ou mauvaise réponse, il y a juste différentes interprétations du problème et de la façon de le résoudre ;-)
C'est pas parce que mon code fonctionne que le tiens n'aurait pas fonctionné, c'est ainsi que l'on apprend et que l'on progresse alors si j'ai un conseil à te donner... persévère!
Bonne continuation
Jc