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

Résolu
mikel831 Messages postés 193 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 23 novembre 2024 - 17 avril 2024 à 18:00
via55 Messages postés 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 - 18 avril 2024 à 12:02

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 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 2 735
17 avril 2024 à 20:43

Re,

Voir si cela convient

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


1
mikel831 Messages postés 193 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 23 novembre 2024 16
18 avril 2024 à 09:47

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 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 2 735
17 avril 2024 à 18:34

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 193 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 23 novembre 2024 16
Modifié le 17 avril 2024 à 19:49

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 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 2 735
18 avril 2024 à 12:02

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