VBA Excel: extraction de morceaux de chaînes dans un tableau
Résoluvia55 Messages postés 14730 Statut Membre -
Bonjour,
J'ai une chaîne de caractères de la forme suivantes:
"Agences : Provence Cote Azur : 2 - 3 - 5 - 8 - 12 - 17....." constituée ainsi:
1) les ":" de séparations sont toujours à la même position, quelle que soit la région
2) les n° d'agence sont toujours séparées par " - " et peuvent être composées de 1 ou 2 chiffres
3) le nombre d'agences est variable : il peut aller de 1 à 9.
Je cherche à créer un tableau Agence(9) contenant le n° des agences dans l'ordre indiqué. Ici Agence(1)=2, Agence(2)=3 etc...
N'étant pas très expérimenté en VBA Excel , je galère ...
Merci pour votre aide !
Windows / Chrome 123.0.0.0
- VBA Excel: extraction de morceaux de chaînes dans un tableau
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour
1) Pas sûr qu'il y ait besoin de VBA
2) Pas très clair, fournis un exemple de fichiers avec plusieurs lignes à traiter en le postant sur cjoint.com, en faisant créer un lien et en revenant le coller cie
Dans l'attente
Cdlmnt
Merci pour ta réponse
Je souhaite le faire en VBA car c'est pour insérer dans un autre code
Pour l'instant, je teste un cas unique , et je l'étendrais aux autres lignes. Voici quelques exemple de chaînes à traiter :
"Agences : Provence Cote Azur : 2 - 3 - 5 - 8 - 12 - 17 "
"Agences : Grand Nord : 12 -15"
"Agences : Auvergn Rhône Alp : 5 - 10"
"Agences : Occitanie : 13 -17 - 19"
Tu choisis n'importe laquelle ...
Re
Target c'est la cible donc la cellule de l'action (ici un double-clic)
Selection c'est la cellule qui a été sélectionnée auparavant (avec une instruction comme Range("B2"). Select par exemple
Worksheetfunction.Find c'est l'application de la fonction Find (l'équivalent en VBA de CHERCHE)
Oui, SPLIT est une fonction très pratique pour décomposer une chaîne selon ses séparateurs quel qu'ils soient, virgule, tiret, espace, slash etc
Bonne continuation
Merci pour ta réponse!
J'ai bien téléchargé le fichier , et ça fonctionne parfaitement.
Je vais l'adapter à mon code existant. Cependant, quelques interrogations:
1) quelle est la différence entre Target.value et Selection.value ?
2) idem entre WorksheetFunction.Find et Selection.Find ?
3) je ne connaissait pas la fonction Split(chaine) : c'est ce qui me manquait pour aboutir ... (l'experience , tout est là !)
Merci encore pour ton aide, cordialement, Mikel