VBA Excel: extraction de morceaux de chaînes dans un tableau

Résolu
mikel831 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -

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

A voir également:

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

Re,

Voir si cela convient

https://www.cjoint.com/c/NDrsRxkEwJQ


1
mikel831 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   18
 

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

0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

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


0
mikel831 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   18
 

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 ...
 

0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

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


0