Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

transformer liste en texte

7 réponses
Avatar
Jules
Bonjour,
J'ai une liste de noms et les prénoms correspondants sur deux colonnes :
colonne A : nom1, nom2, ...
colonne B : prénom1, prénom2, ...

Je voudrais transformer cette liste en un texte (Word par exemple) comme
ceci :
nom1 espace prénom1 virgule nom2 espace prénom2 virgule ...

Est-ce possible ? En fait, je suis passé par Excel pour avoir la longue
liste d'abord classée en ordre alphabétique.

d'avance merci
Jules

7 réponses

Avatar
JB
Bonjour,

Noms en A, prénoms en B

Sub essai()
For Each c In Range("A1", [A65000].End(xlUp))
temp = temp & c & " " & c.Offset(0, 1) & ","
Next c
[D1] = Left(temp, Len(temp) - 1)

End Sub

JB
http://boisgontierjacques.free.fr
On 25 fév, 08:42, Jules wrote:
Bonjour,
J'ai une liste de noms et les prénoms correspondants sur deux colonnes :
colonne A : nom1, nom2, ...
colonne B : prénom1, prénom2, ...

Je voudrais transformer cette liste en un texte (Word par exemple) comme
ceci :
nom1 espace prénom1 virgule nom2 espace prénom2 virgule ...

Est-ce possible ? En fait, je suis passé par Excel pour avoir la longue
liste d'abord classée en ordre alphabétique.

d'avance merci
Jules


Avatar
Jules
Bonjour,

Noms en A, prénoms en B

Sub essai()
For Each c In Range("A1", [A65000].End(xlUp))
temp = temp & c & " " & c.Offset(0, 1) & ","
Next c
[D1] = Left(temp, Len(temp) - 1)

End Sub


Merci pour votre réponse. Malheureusement, je ne sais pas mettre en
oeuvre le Visual Basic (car je suppose que c'en est). J'espérais une
solution sans programme.

Jules

Avatar
JB
Bonjour,

-ALT+F11
-Insertion/Module

Sub essai()
For Each c In Range("A1", [A65000].End(xlUp))
temp = temp & c & " " & c.Offset(0, 1) & ","
Next c
[D1] = Left(temp, Len(temp) - 1)
End Sub

http://cjoint.com/?czpVhP4LHO

JB

On 25 fév, 15:16, Jules wrote:

Bonjour,

Noms en A, prénoms en B

Sub essai()
  For Each c In Range("A1", [A65000].End(xlUp))
   temp = temp & c & " " & c.Offset(0, 1) & ","
  Next c
  [D1] = Left(temp, Len(temp) - 1)

End Sub


Merci pour votre réponse. Malheureusement, je ne sais pas mettre en
oeuvre le Visual Basic (car je suppose que c'en est). J'espérais une
solution sans programme.

Jules



Avatar
JB
Sub essai2()
Open ThisWorkbook.Path & "x.doc" For Output As #1
For Each c In Range("A1", [A65000].End(xlUp))
Print #1, c & " " & c.Offset(0, 1) & ",";
Next c
Close #1
MsgBox "J'ai cree un fichier : " & ThisWorkbook.Path & "x.doc"
End Sub

http://cjoint.com/?czp4W0RTMi

JB
On 25 fév, 15:47, JB wrote:
Bonjour,

-ALT+F11
-Insertion/Module

Sub essai()
  For Each c In Range("A1", [A65000].End(xlUp))
   temp = temp & c & " " & c.Offset(0, 1) & ","
  Next c
  [D1] = Left(temp, Len(temp) - 1)
 End Sub

http://cjoint.com/?czpVhP4LHO

JB

On 25 fév, 15:16, Jules wrote:




Bonjour,

Noms en A, prénoms en B

Sub essai()
  For Each c In Range("A1", [A65000].End(xlUp))
   temp = temp & c & " " & c.Offset(0, 1) & ","
  Next c
  [D1] = Left(temp, Len(temp) - 1)

End Sub


Merci pour votre réponse. Malheureusement, je ne sais pas mettre en
oeuvre le Visual Basic (car je suppose que c'en est). J'espérais une
solution sans programme.

Jules- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
Michel Samoey
Bonjour,
il faut faire un publipostage avec Word

Mettre un titre aux colonnes du tableau Excel par ex Nom et Prénom
Le sauvegarder.
Ouvrir un document vierge dans Word,
faire Affichage/Barre d'outils/ fusion et publipostage pour faire apparaître
l'outil de publipostage
Cliquer sur Outils/lettres et publipostage/fusion et publipostage

Etape 1 sur 6 : cocher répertoire
Etape 2 : cocher Utiliser le document actuel
Etape 3 : cocher utiliser une liste existante
puis parcourir et rechercher le fichier en précisant bien dans type de
fichier : tous les fichiers
puis ouvrir , choisir la feuille et OK
cocher sélectionner tout puis OK
Etape 4 : cliquer sur insérer un champ de fusion (dans la barre d'outil
publipostage) et choisir Nom puis insérer et fermer
Faire un espace puis insérer un champ de fusion et choisir Prenom puis
insérer et fermer
mettre une virgule et un espace
Etape 5 ne rien faire
Etape 6 : choisir dans un nouveau document et tous les champs et OK


Cordialement
Michel

"Jules" a écrit dans le message de news:

Bonjour,
J'ai une liste de noms et les prénoms correspondants sur deux colonnes :
colonne A : nom1, nom2, ...
colonne B : prénom1, prénom2, ...

Je voudrais transformer cette liste en un texte (Word par exemple) comme
ceci :
nom1 espace prénom1 virgule nom2 espace prénom2 virgule ...

Est-ce possible ? En fait, je suis passé par Excel pour avoir la longue
liste d'abord classée en ordre alphabétique.

d'avance merci
Jules


Avatar
Jules
Merci. J'ai copié ma liste dans votre fichier et j'ai fait fonctionner
votre macro. Ça marche !

Jules


Sub essai2()
Open ThisWorkbook.Path & "x.doc" For Output As #1
For Each c In Range("A1", [A65000].End(xlUp))
Print #1, c & " " & c.Offset(0, 1) & ",";
Next c
Close #1
MsgBox "J'ai cree un fichier : " & ThisWorkbook.Path & "x.doc"
End Sub

http://cjoint.com/?czp4W0RTMi



Avatar
Jules
Oui, merci, ça marche aussi. Sauf que je n'ai pas exactement ce
déroulement dans ma version de Word (2000). En particulier, comme je ne
trouvais pas "répertoire", j'ai remplacé par "catalogues" et ça marche.

Encore merci à vous deux

Jules


Bonjour,
il faut faire un publipostage avec Word

Mettre un titre aux colonnes du tableau Excel par ex Nom et Prénom
Le sauvegarder.
Ouvrir un document vierge dans Word,
faire Affichage/Barre d'outils/ fusion et publipostage pour faire apparaître
l'outil de publipostage
Cliquer sur Outils/lettres et publipostage/fusion et publipostage

Etape 1 sur 6 : cocher répertoire
Etape 2 : cocher Utiliser le document actuel
Etape 3 : cocher utiliser une liste existante
puis parcourir et rechercher le fichier en précisant bien dans type de
fichier : tous les fichiers
puis ouvrir , choisir la feuille et OK
cocher sélectionner tout puis OK
Etape 4 : cliquer sur insérer un champ de fusion (dans la barre d'outil
publipostage) et choisir Nom puis insérer et fermer
Faire un espace puis insérer un champ de fusion et choisir Prenom puis
insérer et fermer
mettre une virgule et un espace
Etape 5 ne rien faire
Etape 6 : choisir dans un nouveau document et tous les champs et OK