Extraction de caractère
thechoux
Messages postés
25
Statut
Membre
-
thechoux Messages postés 25 Statut Membre -
thechoux Messages postés 25 Statut Membre -
Bonjour à tous,
Etant débutant sur VBA, je rencontre quelques difficultés :
Dans la colonne J:J se trouve dans chaque cellule une chaine de caractère de type GRA-AAA-trucinutile.
Ce que je voudrais faire c'est extraire la chaine de caractère se situant entre les deux tirets et la copier dans la colonne E:E
Par exemple si dans les cellules J3 et J4 se trouve les chaines suivante : GRA-V-gnagnagna et GRA-Gr-gnagnafg je voudrais que dans les cellules E3 et E4 se copie respectivement V et Gr
Comment faire ?
Merci d'avance
Etant débutant sur VBA, je rencontre quelques difficultés :
Dans la colonne J:J se trouve dans chaque cellule une chaine de caractère de type GRA-AAA-trucinutile.
Ce que je voudrais faire c'est extraire la chaine de caractère se situant entre les deux tirets et la copier dans la colonne E:E
Par exemple si dans les cellules J3 et J4 se trouve les chaines suivante : GRA-V-gnagnagna et GRA-Gr-gnagnafg je voudrais que dans les cellules E3 et E4 se copie respectivement V et Gr
Comment faire ?
Merci d'avance
3 réponses
-
Bonjour,
pos_tiret_gauche = InStr((ActiveCell.Value), "-") pos_tiret_droit = Len(ActiveCell.Value) - InStr(StrReverse(ActiveCell.Value), "-") + 1 entre_les_tirets = Mid(ActiveCell.Value, pos_tiret_gauche + 1, pos_tiret_droit - pos_tiret_gauche - 1) MsgBox entre_les_tirets
A+ -
Bonjour,
Avec la fonction Split(), comme par exemple:
Dim mtab mtab = Split(Range("J3").Value, "-") Range("E3").Value = mtab(1)
-
Re,
J'admets que Split est plus élégant.
Je complète la réponse en précisant qu'il faudrait que tu utilises une fonction personnalisée :
ex :Function elt(valeur_en_J as String)
mtab = Split(valeur_en_J, "-")
elt = mtab(1)
End Function
et en E3 tu tapes =elt(J3)
A+