Macro: recherche chiffres dans libelle de la droite, vers la gauche
1 réponse
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 .
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
.
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 .