Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro: recherche chiffres dans libelle de la droite, vers la gauche

1 réponse
Avatar
marchepied
Bonjour,
En A1, j'ai un libelle de taille variable avec des=20
lettres, des chiffres et des caract=E9res sp=E9ciaux.
Je voudrai mettre en B1 un num=E9ro ce trouvant dans se=20
libelle, avec la m=E9thode de recherche suivant:
recherche =E0 partir de la droite, du caract=E9re ")" et=20
prendre le chiffre imm=E9diatement coll=E9 =E0 ")"
Le chiffre est de taille variable et est suivi (=E0 sa=20
gauche) par une lettre ou un caract=E8re sp=E9cial.
PS: dans le libelle, il peux y avoir plusieurs ")" mais=20
je suis int=E9ress=E9 seulement par celui qui est le plus =E0=20
droite.
Exemple:
A1=3D auto 123(porte) (456)1/3=20
B1=3D 456
A1=3D camion 1078 (ad81)
B1=3D 81
Je recherche une macro pouvant faire cette petite=20
gymnastique.
Merci de votre aide.
Marchepied

1 réponse

Avatar
GVentre
Bonjour marchepied,

voici un bout de code a adapter selon ta plage de cellule
(dans mon exemple j'utilise A2)



a = InStrRev(Range("A2").Value, "(")
b = Right(Range("A2").Value, Len(Range("A2").Value) - a)

Var = ""
i = 1

Do
If IsNumeric(Mid(b, i, 1)) Then
Var = Var & Mid(b, i, 1)
End If
i = i + 1
Loop Until Mid(b, i, 1) = ")"





-----Message d'origine-----
Bonjour,
En A1, j'ai un libelle de taille variable avec des
lettres, des chiffres et des caractéres spéciaux.
Je voudrai mettre en B1 un numéro ce trouvant dans se
libelle, avec la méthode de recherche suivant:
recherche à partir de la droite, du caractére ")" et
prendre le chiffre immédiatement collé à ")"
Le chiffre est de taille variable et est suivi (à sa
gauche) par une lettre ou un caractère spécial.
PS: dans le libelle, il peux y avoir plusieurs ")" mais
je suis intéressé seulement par celui qui est le plus à
droite.
Exemple:
A1= auto 123(porte) (456)1/3
B1= 456
A1= camion 1078 (ad81)
B1= 81
Je recherche une macro pouvant faire cette petite
gymnastique.
Merci de votre aide.
Marchepied
.