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

VBA:Extraction de chiffres dans du texte

4 réponses
Avatar
gb
Bonjour,

Je souhaite extraire 3 chiffres qui sont incorporés à l'intérieur d'un
texte.
En utilisant les fonctions Droite et Gauche dans une feuille de calcul
j'obtiens le résultat souhaité, c'est à dire celui-ci est au format texte
(c'est trés bien car dans certains cas le premier caratére du "chiffre" est
un zéro qu'il me faut conserver)
Les mêmes fonctions en VBA me donnent un résultat sous forme de Nombre et le
zéro disparait. J'ai bien essayé la fonction "text" en VBA mais rien n'y
fait.
Comment faire

D'avance merci

4 réponses

Avatar
papou
Bonjour
Utilise Format en VBA (équivalent de la fonction TEXTE)
Exemple : Format(Activecell.Value,"00")

Cordialement
Pascal

"gb" a écrit dans le message de news:
408dfbb5$0$22850$
Bonjour,

Je souhaite extraire 3 chiffres qui sont incorporés à l'intérieur d'un
texte.
En utilisant les fonctions Droite et Gauche dans une feuille de calcul
j'obtiens le résultat souhaité, c'est à dire celui-ci est au format texte
(c'est trés bien car dans certains cas le premier caratére du "chiffre"
est

un zéro qu'il me faut conserver)
Les mêmes fonctions en VBA me donnent un résultat sous forme de Nombre et
le

zéro disparait. J'ai bien essayé la fonction "text" en VBA mais rien n'y
fait.
Comment faire

D'avance merci




Avatar
E KERGRESSE
Bonjour,

Tu peux essayer de rechercher tous les chiffres dans ta chaîne de caractères
avec une boucle For Next

exemple :

Sub RechercheChiffres()

dim Chiffres as string
dim i as integer

' En admettant que la chaîne à analyser soit dans la cellule A2 et que tu te
positionnes sur B2
' et que le programme passe à la ligne suivante à la fin.

Chiffres=""
Activesheet.range("B2").select

For i = 1 to len(activecell.offset(0,-1))

Select case Mid(Activecell.offset(0,-1).Value,i,1)
case 0 to 9
Chiffres=Chiffres & Mid(Activecell.offset(0,-1).value,i,1)
End select

Next

Activecell.Value=Chiffres
Activecell.offset(1,0).select

End sub

L'exemple marche chez moi.

De cette façon tu récupères tous les chiffres, même les 0 en tête.

Cordialement.




"gb" a écrit dans le message de news:
408dfbb5$0$22850$
Bonjour,

Je souhaite extraire 3 chiffres qui sont incorporés à l'intérieur d'un
texte.
En utilisant les fonctions Droite et Gauche dans une feuille de calcul
j'obtiens le résultat souhaité, c'est à dire celui-ci est au format texte
(c'est trés bien car dans certains cas le premier caratére du "chiffre"
est

un zéro qu'il me faut conserver)
Les mêmes fonctions en VBA me donnent un résultat sous forme de Nombre et
le

zéro disparait. J'ai bien essayé la fonction "text" en VBA mais rien n'y
fait.
Comment faire

D'avance merci




Avatar
gb
Merci pour vos réponses,
En fait j'y suis arrivé grace à la réponse de papou mais j'ai du la
compléter en appliquant la formule:
"'" & format(activecell,"000")
"gb" a écrit dans le message de
news:408dfbb5$0$22850$
Bonjour,

Je souhaite extraire 3 chiffres qui sont incorporés à l'intérieur d'un
texte.
En utilisant les fonctions Droite et Gauche dans une feuille de calcul
j'obtiens le résultat souhaité, c'est à dire celui-ci est au format texte
(c'est trés bien car dans certains cas le premier caratére du "chiffre"
est

un zéro qu'il me faut conserver)
Les mêmes fonctions en VBA me donnent un résultat sous forme de Nombre et
le

zéro disparait. J'ai bien essayé la fonction "text" en VBA mais rien n'y
fait.
Comment faire

D'avance merci




Avatar
Michel Pierron
Bonjour gb;
En VBA, tu peux utiliser la convertion CStr(...
MP

"gb" a écrit dans le message de
news:408dfbb5$0$22850$
Bonjour,

Je souhaite extraire 3 chiffres qui sont incorporés à l'intérieur d'un
texte.
En utilisant les fonctions Droite et Gauche dans une feuille de calcul
j'obtiens le résultat souhaité, c'est à dire celui-ci est au format texte
(c'est trés bien car dans certains cas le premier caratére du "chiffre" est
un zéro qu'il me faut conserver)
Les mêmes fonctions en VBA me donnent un résultat sous forme de Nombre et le
zéro disparait. J'ai bien essayé la fonction "text" en VBA mais rien n'y
fait.
Comment faire

D'avance merci