Macro VBA pour concaténation
Résolu
Mat
-
Ed -
Ed -
Bonjour,
je souhaite réaliser une macro qui me permette de concaténer des cellules sachant que :
- je ne connais pas le nombre exact de cellules à concaténer
- je souhaite qu'une virgule apparaisse entre chaque cellule ainsi concaténée.
Exemple :
données source (chaque lettre est sur une ligne dans une cellule)
A
B
C
D
E
..
W
données de sortie (dans une seule cellule) :
A,B,C,D,E,..,W
Cordialement,
je souhaite réaliser une macro qui me permette de concaténer des cellules sachant que :
- je ne connais pas le nombre exact de cellules à concaténer
- je souhaite qu'une virgule apparaisse entre chaque cellule ainsi concaténée.
Exemple :
données source (chaque lettre est sur une ligne dans une cellule)
A
B
C
D
E
..
W
données de sortie (dans une seule cellule) :
A,B,C,D,E,..,W
Cordialement,
A voir également:
- Macro VBA pour concaténation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
6 réponses
Salut,
Pourquoi VBA une formule sait faire exemple si tes données sont en A1, A2, A3 etc ...
cette formule
=A1&","&A2&","&A3&","&A4&","&A5&","&A6
elle pourrait être complétée par des conditionnelles pour ne pas afficher une série de ,,,, si les cellules vides viennent s'intercaler et éviter cet affichage A,B,C,,,,,,F
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Pourquoi VBA une formule sait faire exemple si tes données sont en A1, A2, A3 etc ...
cette formule
=A1&","&A2&","&A3&","&A4&","&A5&","&A6
elle pourrait être complétée par des conditionnelles pour ne pas afficher une série de ,,,, si les cellules vides viennent s'intercaler et éviter cet affichage A,B,C,,,,,,F
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Bonjour,
Merci pour ta réponse. Cependant, le but est d'appliquer cette formule plusieurs fois et à un grand nombre de cellules (de 100 à 200 parfois). Manuellement ca va me prendre trop de temps à taper cette formule.
Cordialement,
Merci pour ta réponse. Cependant, le but est d'appliquer cette formule plusieurs fois et à un grand nombre de cellules (de 100 à 200 parfois). Manuellement ca va me prendre trop de temps à taper cette formule.
Cordialement,
Re,
Tu saisis ta formule exemple en F1 ensuite tu l'incrémentes jusqu'en bas de ton tableau et ça prends dix secondes tout au plus
Pour incrémenter une fois la formule rentrée dans ta cellule, clic sur cette cellule, en bas à droite tu clic gauche sur le petit carré et sans lacher le clic tu fais glisser vers le bas et ta formule se recopie sans problème
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Tu saisis ta formule exemple en F1 ensuite tu l'incrémentes jusqu'en bas de ton tableau et ça prends dix secondes tout au plus
Pour incrémenter une fois la formule rentrée dans ta cellule, clic sur cette cellule, en bas à droite tu clic gauche sur le petit carré et sans lacher le clic tu fais glisser vers le bas et ta formule se recopie sans problème
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Bonjour,
Fonction personnalisée à mettre dans un module :
Syntaxe :
=ConcatPlage(plage, separateur)
Ex :
=ConcatPlage(A1:A6;",")
eric
Fonction personnalisée à mettre dans un module :
Function ConcatPlage(plage As Range, separateur As String) As String
Dim c As Range
Dim rep As String
For Each c In plage
rep = rep & separateur & c.Value
Next c
ConcatPlage = Mid(rep, Len(separateur) + 1)
End FunctionLa plage doit être d'un seul tenant (pas de sélection multiple)
Syntaxe :
=ConcatPlage(plage, separateur)
Ex :
=ConcatPlage(A1:A6;",")
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à tous,
j'arrivais moi aussi avec une fonction mais Eriic a été le + rapide! donc, je n'insiste pas car c'était à peu près la m^me
Le problème est le format de la cellule de résultat:
j'ai testé avec environ 210 cellules de 6 caractères chacune:
il faut 5 lignes sur une colonne de largeur maxi(255) en utilisant le retour automatique à la ligne...
j'arrivais moi aussi avec une fonction mais Eriic a été le + rapide! donc, je n'insiste pas car c'était à peu près la m^me
Le problème est le format de la cellule de résultat:
j'ai testé avec environ 210 cellules de 6 caractères chacune:
il faut 5 lignes sur une colonne de largeur maxi(255) en utilisant le retour automatique à la ligne...