Découper une chaîne de caractère et la ranger en lignes et colonnes
Résolu/Fermé
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
-
7 oct. 2020 à 21:18
Romain21410 Messages postés 7 Date d'inscription mercredi 7 octobre 2020 Statut Membre Dernière intervention 1 décembre 2020 - 8 oct. 2020 à 12:33
Romain21410 Messages postés 7 Date d'inscription mercredi 7 octobre 2020 Statut Membre Dernière intervention 1 décembre 2020 - 8 oct. 2020 à 12:33
A voir également:
- Découper une chaîne de caractère et la ranger en lignes et colonnes
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Comment découper un pdf - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
4 réponses
Raymond PENTIER
Messages postés
58771
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
17 259
7 oct. 2020 à 22:10
7 oct. 2020 à 22:10
Bonjour.
Et, dans les noms, il n'y en a jamais un qui ressemble à DE MONTAIGNAC ? Ni, dans les prénoms, un qui ressemble à Max Henri ou à William Jr ? C'est-à-dire avec des espaces ...
Dans ta chaîne de caractères, il y a combien de personnes ? Seulement 3 ou plutôt une centaine ?
Il y a une seule chaîne avec toutes les personnes, ou plusieurs chaînes à gérer ?
Cette chaîne (ou ces chaînes) provient de quelle source : Web, cvs, Access ... ?
Et, dans les noms, il n'y en a jamais un qui ressemble à DE MONTAIGNAC ? Ni, dans les prénoms, un qui ressemble à Max Henri ou à William Jr ? C'est-à-dire avec des espaces ...
Dans ta chaîne de caractères, il y a combien de personnes ? Seulement 3 ou plutôt une centaine ?
Il y a une seule chaîne avec toutes les personnes, ou plusieurs chaînes à gérer ?
Cette chaîne (ou ces chaînes) provient de quelle source : Web, cvs, Access ... ?
via55
Messages postés
14504
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 décembre 2024
2 738
7 oct. 2020 à 23:04
7 oct. 2020 à 23:04
Bonjour Romain
Coucou Raymond et eriiic
A condition qu'il n'y ait pas comme l'a bien précisé Raymond des espaces entre 2 parties de noms ou de prénoms un exemple par macro à adapter
https://mon-partage.fr/f/c2zlIUhN/
Cdlmnt
Via
Coucou Raymond et eriiic
A condition qu'il n'y ait pas comme l'a bien précisé Raymond des espaces entre 2 parties de noms ou de prénoms un exemple par macro à adapter
https://mon-partage.fr/f/c2zlIUhN/
Cdlmnt
Via
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
Modifié le 8 oct. 2020 à 08:45
Modifié le 8 oct. 2020 à 08:45
Bonjour Via 55,
Merci beaucoup pour cette macro ! Effectivement elle marche très bien, à l'exception des noms et prénoms composés. Finalement il serait possible de contourner le problème des noms et prénoms composés en récupérant uniquement les adresses mail. Auriez-vous une idée de la partie du programme à modifier ? (il n'y aurait qu'une seule colonne composée des mails)
Merci encore pour ce très beau programme.
R.L.
Merci beaucoup pour cette macro ! Effectivement elle marche très bien, à l'exception des noms et prénoms composés. Finalement il serait possible de contourner le problème des noms et prénoms composés en récupérant uniquement les adresses mail. Auriez-vous une idée de la partie du programme à modifier ? (il n'y aurait qu'une seule colonne composée des mails)
Merci encore pour ce très beau programme.
R.L.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
>
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
Modifié le 8 oct. 2020 à 09:06
Modifié le 8 oct. 2020 à 09:06
Bonjour,
On aurait pu se baser sur les majuscules pour distinguer les noms des prénoms.
Mais bon, si les mails te suffisent, pas la peine de s'embêter.
Par contre il y a une limite aux tailles des chaines en vba (que j'ai oubliée). Contrôle que le dernier élément sort bien.
eric
PS : qq chose m'échappe. Le csv fournit un enregistrement par ligne, pas tout sur une seule ligne...
Ah vu, c'est une liste de diffusion, pas un export
On aurait pu se baser sur les majuscules pour distinguer les noms des prénoms.
Mais bon, si les mails te suffisent, pas la peine de s'embêter.
Par contre il y a une limite aux tailles des chaines en vba (que j'ai oubliée). Contrôle que le dernier élément sort bien.
eric
PS : qq chose m'échappe. Le csv fournit un enregistrement par ligne, pas tout sur une seule ligne...
Ah vu, c'est une liste de diffusion, pas un export
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
8 oct. 2020 à 11:14
8 oct. 2020 à 11:14
Rebonjour Eric,
Merci beaucoup pour ton message et ton conseil : effectivement les chaînes vba sont limitées, je séparerai l'opération en 2 fois pour que tous les éléments sortent bien.
Merci encore pour vos conseis avisés et bonne journée :)
R.L.
Merci beaucoup pour ton message et ton conseil : effectivement les chaînes vba sont limitées, je séparerai l'opération en 2 fois pour que tous les éléments sortent bien.
Merci encore pour vos conseis avisés et bonne journée :)
R.L.
via55
Messages postés
14504
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 décembre 2024
2 738
>
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
8 oct. 2020 à 11:17
8 oct. 2020 à 11:17
Re
Remplace la macro par celle-ci, tu auras dans la 1ere colonne les nom prénom et dans la 2nde le mail
Cdlmnt
Via
Remplace la macro par celle-ci, tu auras dans la 1ere colonne les nom prénom et dans la 2nde le mail
Sub decoupe() chaine = ActiveCell.Value If Right(chaine, 1) = ";" Then chaine = Left(chaine, Len(chaine) - 1) ' suppression du ; final s'il existe tablo = Split(chaine, ";") ' découpe chaine en fonction des ; For n = 0 To UBound(tablo) ' boucle sur les élements du tableau newchaine = WorksheetFunction.Substitute(tablo(n), ">", "") 'supprime le > If Left(newchaine, 1) = " " Then newchaine = Right(newchaine, Len(newchaine) - 1) 'suppression du caractère espace en début s'il existe tablo2 = Split(newchaine, "<") ' découpe la nouvelle chaîne en fonction d u < x = Sheets("Feuil2").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1 ' 1ere ligne vide en col A de Feuil2 'remplit les cellules des 2 colonnes de feuille 2 Sheets("Feuil2").Cells(x, 1) = tablo2(0) Sheets("Feuil2").Cells(x, 2) = tablo2(1) Next n Sheets("Feuil2").Activate End Sub
Cdlmnt
Via
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
>
via55
Messages postés
14504
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
21 décembre 2024
Modifié le 8 oct. 2020 à 12:33
Modifié le 8 oct. 2020 à 12:33
Bonjour Via,
Ta version est vraiment au top et très fonctionnelle. Merci beaucoup pour ton aide.
En te souhaitant une excellente journée.
Cordialement,
R.L.
Ta version est vraiment au top et très fonctionnelle. Merci beaucoup pour ton aide.
En te souhaitant une excellente journée.
Cordialement,
R.L.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 8 oct. 2020 à 10:42
Modifié le 8 oct. 2020 à 10:42
Bonjour à tous
Proposition avec seulement identité et adresse mail
la maquette
https://mon-partage.fr/f/VnKJ6Tbe/
Proposition avec seulement identité et adresse mail
la maquette
https://mon-partage.fr/f/VnKJ6Tbe/
Romain21410
Messages postés
7
Date d'inscription
mercredi 7 octobre 2020
Statut
Membre
Dernière intervention
1 décembre 2020
8 oct. 2020 à 11:11
8 oct. 2020 à 11:11
Trop fort Michel !
La macro marche super bien (seule la dernière ligne n'est pas prise en compte mais pour 1 personne ça se fait facilement manuellement).
Merci beaucoup pour votre aide, sans vous je n'y serais pas arrivé.
En vous souhaitant une bonne journée !
R.L.
La macro marche super bien (seule la dernière ligne n'est pas prise en compte mais pour 1 personne ça se fait facilement manuellement).
Merci beaucoup pour votre aide, sans vous je n'y serais pas arrivé.
En vous souhaitant une bonne journée !
R.L.
7 oct. 2020 à 22:18
j'ajouterai : les noms sont toujours en majuscule et prénoms avec juste l'initiale ?
eric
8 oct. 2020 à 07:32
Noms à particule: DE HERDT Marc <marc.deherdt2@laposte.net>
Prénoms composés: ANGEON Rose Aimee <roseaimeeangeon@gmail.com>
Il y aurait une seule chaîne d'environ 1500 personnes à gérer. Cette chaîne provient d'une liste de diffusion outlook. L'idée serait d'importer directement la liste outlook au format cvs sur excel mais je n'ai pas trouvé de plugins permettant de faire le transfert (seuls le nom de la liste de diffusion est importé sur excel). Je suis donc obligé de dérouler la liste de diffusion pour la copier-coller dans une cellule excel, ce qui donne cette longue chaîne de caractères.
Merci beaucoup de vous l'intérêt que vous portez à cette question.
R.L.