Macro concaténation
Pierre1000
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un problème pour configurer une macro concaténation. Ayant une liste de plus de 1000 entrées, je ne peux pas concaténer ligne après ligne...
J'ai un tableau d'adresses de clients que j'aimerais pouvoir convertir en doc google pour en faire une carte. Mais pour cela, j'ai besoin d'une première colonne indiquant clairement l'adresse sous la forme suivante : 1 Rue de Paris, 75000 Paris, France.
Et actuellement: j'ai l'adresse divisée en 2 colonnes:
A: 1, Rue de Paris
B: 75000 Paris, France
J'aurais donc besoin de fusionner la colonne A et B en gardant le contenu, et en sachant que le contenu de la colonne B est toujours identique.
N'est-il pas simplement possible de faire répéter la formule Concaténer =CONCATENER(A; " "; B) tout au long d'une même colonne sans avoir à spécifier à chaque fois =CONCATENER(A13; " "; B13) etc. ???
Ou est-il possible de créer et exécuter une macro correspondante ?
Un grand merci d'avance !
pierre1000
J'ai un problème pour configurer une macro concaténation. Ayant une liste de plus de 1000 entrées, je ne peux pas concaténer ligne après ligne...
J'ai un tableau d'adresses de clients que j'aimerais pouvoir convertir en doc google pour en faire une carte. Mais pour cela, j'ai besoin d'une première colonne indiquant clairement l'adresse sous la forme suivante : 1 Rue de Paris, 75000 Paris, France.
Et actuellement: j'ai l'adresse divisée en 2 colonnes:
A: 1, Rue de Paris
B: 75000 Paris, France
J'aurais donc besoin de fusionner la colonne A et B en gardant le contenu, et en sachant que le contenu de la colonne B est toujours identique.
N'est-il pas simplement possible de faire répéter la formule Concaténer =CONCATENER(A; " "; B) tout au long d'une même colonne sans avoir à spécifier à chaque fois =CONCATENER(A13; " "; B13) etc. ???
Ou est-il possible de créer et exécuter une macro correspondante ?
Un grand merci d'avance !
pierre1000
A voir également:
- Macro 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é
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
2 réponses
Bonjour
1/veux tu remplacer les colonne A & B par la cpncaténation dans col A ou veux tu concaténer dans une autre colonne que A et B ?
2/ quand tu écris:
le contenu de la colonne B est toujours identique.
cela veut il dire que l'on a toujours "75000 Paris, France " ?
3/ est on bien dans les colonnes A et B(une macro demande à être précis) ?
1/veux tu remplacer les colonne A & B par la cpncaténation dans col A ou veux tu concaténer dans une autre colonne que A et B ?
2/ quand tu écris:
le contenu de la colonne B est toujours identique.
cela veut il dire que l'on a toujours "75000 Paris, France " ?
3/ est on bien dans les colonnes A et B(une macro demande à être précis) ?
re
voici la macro à essayer
Michel
voici la macro à essayer
Const lig_dep As Byte = 2 'ligne de départ du tableau (après l'ent^te éventuelle)
Sub concat_colA_colB()
Dim ville As String, der_lig As Integer, tablo
'collecte données
ville = Cells(lig_dep, 2)
der_lig = Columns(1).Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
tablo = Application.Transpose(Range(Cells(lig_dep, 1), Cells(der_lig, 1)).Value)
'concaténation dans la variable tableau
For cptr = 1 To UBound(tablo)
tablo(cptr) = tablo(cptr) & ", " & ville
Next
'restitution
Application.ScreenUpdating = False
Range(Cells(lig_dep, 1), Cells(der_lig, 2)).Clear
Cells(lig_dep, 1).Resize(UBound(tablo), 1) = Application.Transpose(tablo)
Columns(1).AutoFit
Columns(2).Delete
End Sub
Michel
Merci de ta réponse:
pour répondre à tes questions:
1) Oui, idéalement, je voudrais remplacer les colonnes A et B par une concaténation dans la colonne A qui intégrerait le contenu de la colonne B.
Mais ce n'est pas très important : je pourrais créer une colonne C avec le résultat de la concaténation des colonnes A et B, lesquelles je supprimerais ensuite. Ainsi, lorsque j'utilise la formule simple =Concaténer, le résultat est dans une nouvelle colonne. C'est d'ailleurs ce que je ferais si je n'avais que quelques entrées et pas plus de 1000.
2) Oui, je confirme bien que le contenu de la colonne B est toujours le même comme tu as compris.
3) Oui, on est bien dans les colonnes A et B (ce n'est pas à titre d'exemple).
je vais de proposer une macro ; je reviens...
Toutefois, c'est un document de travail personnel, ce ne serait pas très grave si certaines colonnes étaient redondantes...
Merci !