VBA - Excel: Concaténer automatiquement avec boucle
Résolu/Fermé
Bonjour,
Je travaille sur Excel 2013, je débute en VBA et j'ai une problématique qui me bloque.
Ma feuille contient des mots dans les cellules: ex: en B1:"Bonjour", en C1:"à", en D1:"tous", puis en B2:"Salut" et en C2:"toi"...
En colonne A, j'aimerais pouvoir constituer automatiquement des phrases par ligne en concaténant les mots des différentes cellules séparés d'un espace, pour obtenir "Bonjour à tous" pour la ligne 1, puis "Salut toi" pour la ligne 2...
Le problème c'est que je ne sais jamais combien de mots j'ai dans chaque ligne, ni combien de lignes j'ai au total.
Auriez-vous une solution ou une piste à me proposer?
Je vous remercie par avance de votre aide!
Je travaille sur Excel 2013, je débute en VBA et j'ai une problématique qui me bloque.
Ma feuille contient des mots dans les cellules: ex: en B1:"Bonjour", en C1:"à", en D1:"tous", puis en B2:"Salut" et en C2:"toi"...
En colonne A, j'aimerais pouvoir constituer automatiquement des phrases par ligne en concaténant les mots des différentes cellules séparés d'un espace, pour obtenir "Bonjour à tous" pour la ligne 1, puis "Salut toi" pour la ligne 2...
Le problème c'est que je ne sais jamais combien de mots j'ai dans chaque ligne, ni combien de lignes j'ai au total.
Auriez-vous une solution ou une piste à me proposer?
Je vous remercie par avance de votre aide!
A voir également:
- Vba excel concatener
- Liste déroulante excel - Guide
- Concatener deux cellules excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
1 réponse
yg_be
Messages postés
23528
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2025
Ambassadeur
1 578
12 janv. 2021 à 12:31
12 janv. 2021 à 12:31
bonjour,
suggestion:
suggestion:
Sub lena() Dim cola As Range, mot As Range Set cola = [a1] Do While cola.Offset(, 1) <> "" Set mot = cola.Offset(, 1) Do While mot <> "" cola = cola + mot + " " Set mot = mot.Offset(, 1) Loop Set cola = cola.Offset(1) Loop End Sub
12 janv. 2021 à 15:30
Petite question subsidiaire: y'a-t-il une solution pour intégrer les éventuelles cellules vides suivies d'une non vide, autrement dit, s'assurer que c'est bien la dernière cellule non vide de la ligne même s'il y'en a une vide sur la ligne??
12 janv. 2021 à 15:55
12 janv. 2021 à 16:05
12 janv. 2021 à 16:07
pourras-tu marquer la discussion comme résolue?
12 janv. 2021 à 16:14