XL 2016 Concatenation en vba

  • Initiateur de la discussion Initiateur de la discussion JJCODO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JJCODO

XLDnaute Nouveau
Bonjour à tous

Sous Excel 2016, je voudrais en VBA, concaténer les valeurs d'un nombre aléatoire de cellules de la colonne A et trouver le résultat dans une cellule B10.

Dans la réalité les prénoms sont des adresses mail

Exemple:

A B

10 PAUL PAUL, JOHN, RENE

11 JOHN

12 RENE

Merci d'avance de votre aide

"Un très mauvais en VBA"
 
Bonjour à tous

Sous Excel 2016, je voudrais en VBA, concaténer les valeurs d'un nombre aléatoire de cellules de la colonne A et trouver le résultat dans une cellule B10.

Dans la réalité les prénoms sont des adresses mail

Exemple:

A B

10 PAUL PAUL, JOHN, RENE

11 JOHN

12 RENE

Merci d'avance de votre aide

"Un très mauvais en VBA"
Bonjour,
Cela pourrait ressembler à ceci
L'exemple commence à la cellule A2
VB:
Sub Conca()
    Dim C$, Tablo, i&
    With Feuil1
        Tablo = .Range("a2:a" & .Cells(.Rows.Count, "A").End(xlUp).Row)
        For i = 1 To UBound(Tablo)
            C = C & Tablo(i, 1) & ", "
        Next
        .[b10] = Left(C, Len(C) - 2)
    End With
End Sub

Sinon, un classeur exemple........
 
Dernière édition:
Bonjour

J'ai encore une question :

Si le nombre de cellule non vide en colonne A est aléatoire et supérieur à 1, la macro s'exécute sans pb

S'il n'y a qu'une cellule non vide, la macro renvoie une erreur de compilation

Comment faire pour avoir malgré tout un résultat en colonne C, s'il y a une seule cellule non vide en Colonne A.

Autrement dit ,je voudrai que la macro fonctionne dans tout les cas.

Je vous joins le fichier d'exemples

Merci d'avance de votre aide
 

Pièces jointes

Bonjour

J'ai encore une question :

Si le nombre de cellule non vide en colonne A est aléatoire et supérieur à 1, la macro s'exécute sans pb

S'il n'y a qu'une cellule non vide, la macro renvoie une erreur de compilation

Comment faire pour avoir malgré tout un résultat en colonne C, s'il y a une seule cellule non vide en Colonne A.

Autrement dit ,je voudrai que la macro fonctionne dans tout les cas.

Je vous joins le fichier d'exemples

Merci d'avance de votre aide
Re,
Il faudra donner un peu plus d'information sur l'organisation réelle de la feuille avec plus de donnée.
Les écarts entre le mot "données" sont les mêmes ?
Que doit exactement figurée dans la concaténation ?
Le virgules doivent figurer ?
Joindre un classeur exemple et une feuille avec inscrit en dur le résultat souhaité.
 
Dernière édition:
Bonjour Jacky
Voici qqs explications supplémentaires et je joins un fichier d'exemple
Merci d'avance:
En colonne A il peut y avoir de 1 à X cellules contenant des prénoms
En colonne C après l'exécution de la macro la concaténation est correcte avec le séparateur ", "
Toutefois si en colonne A, il n'y a qu'une seule cellule non-vide soit par exemple Paul en A4, La macro génére une erreur pour cette ligne "For i = 1 To UBound(Tablo)"
Je voudrais éviter ce problème
 

Pièces jointes

Bonjour Jacky
Voici qqs explications supplémentaires et je joins un fichier d'exemple
Merci d'avance:
En colonne A il peut y avoir de 1 à X cellules contenant des prénoms
En colonne C après l'exécution de la macro la concaténation est correcte avec le séparateur ", "
Toutefois si en colonne A, il n'y a qu'une seule cellule non-vide soit par exemple Paul en A4, La macro génére une erreur pour cette ligne "For i = 1 To UBound(Tablo)"
Je voudrais éviter ce problème
RE..
Hello pierrejean
Heu..!
Perso, je n'ai aucune erreur avec le classeur mis en ligne
 
Bonjour Jacky,

c'est pas grave : le problème mentionné dans le post #6 a été résolu par le nouveau fichier de pierrejean du post #7 ; et le post #8 de JJCODO confirme que ça fonctionne très bien. 😊 (grâce à pierrejean ; moi j'y suis pour rien : j'ai seulement lu la conversation)

soan
 
Bonjour Jacky,

c'est pas grave : le problème mentionné dans le post #6 a été résolu par le nouveau fichier de pierrejean du post #7 ; et le post #8 de JJCODO confirme que ça fonctionne très bien. 😊 (grâce à pierrejean ; moi j'y suis pour rien : j'ai seulement lu la conversation)

soan
Hello soan
OUI résolu
Mais puisque tu suis le post, peux-tu me dire si tu as une erreur sur le classeur du poste #6
 
@Jacky67

j'ai suivi la procédure indiquée par JJCODO dans son post #6 : j'ai effacé A5:A7 ➯ il reste un seul prénom : c'est "Paul" en A4 ; puis j'ai cliqué sur le bouton "Concaténation" ➯ cette erreur d'exécution :​

Image.jpg


dans le code VBA, la ligne en jaune est celle-ci :

For i = 1 To UBound(Tablo)

soan
 
@Jacky67

j'ai suivi la procédure indiquée par JJCODO dans son post #6 : j'ai effacé A5:A7 ➯ il reste un seul prénom : c'est "Paul" en A4 ; puis j'ai cliqué sur le bouton "Concaténation" ➯ cette erreur d'exécution :​

Regarde la pièce jointe 1104996

dans le code VBA, la ligne en jaune est celle-ci :

For i = 1 To UBound(Tablo)

soan
Ok merci
J'ai été dur à la comprenette ce coup ci 😵😱😉😉
Merci à pierrejean d'avoir rectifié
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
482
Retour