Extraire text d'une chaine Alphanumerique

Résolu
elglouton Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche à extraire le texte d'une chaine de caractère en déterminant la position du 1er nombre rencontré

2 ECHELLE DE TEMPERATURE 0-4 0

Pour extraire le 1er 2 j'ai utilisé : =GAUCHE(N° de la cellule;2) sachant que pour le 1er nombre cela n'exede jamais deux caractères

Et je souhaiterai extraire le texte "ECHELLE DE TEMPERATURE" dans un second temps j'ai utiliser =SUBSTITUE(GAUCHE(B28;TROUVE(" ";B28));H28;"";1) le problème est qu'il n'y a pas toujours un double espace après le texte mais il y à toujours un caractère numérique

Je souhaiter donc savoir si il est possible d'utiliser la fonction trouve (caractère numérique) dans cette formule ?

Merci d'avance pour vos reponses

A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour
le nombre de caractères est il constant après le dernier espace?
y a t il toujours le même nombre de blanc avant le 1° 0,
crdlmnt

Ps le problème étant que même un 0 au milieu d'un texte ne peut pas être considéré par excel comme une valeur num
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
elglouton Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Vaucluse

Et bien non malheureusement je n'ai pas toujours le même nombre de caractère dans la cellule et pas le même nombre de caractères avant chaque espaces et pas le meme nombre de blanc avant le 1er chiffre.

Donc c'est pas cool du tout.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
Le glouton, excuses moi d'avoir 'essayé de t'aider. merci pour ton Bonjour
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
Bonjour

Pour le fun
texte en B24 par ex

=extraire_maj(B24)

avec la fonction personnalisée:
Function extraire_maj(texto As String)  
Dim reg As Object  
Dim extraction As Object  
    Set reg = CreateObject("vbscript.regexp")  
    reg.Global = True  
    reg.Pattern = "([A-Z ])"  
      
    Set extraction = reg.Execute(texto)  
    For Each maj In extraction  
        extraire_maj = extraire_maj & maj.Value  
    Next maj 
    extraire_maj = Trim(extraire_maj) 
End Function

Michel
0
elglouton Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Michel_m

Je n'arrive pas à faire fonctionner cette Macro
J'ai mis la macro dans la feuille correspondante et la formule renvoie a la cellule texte mais j'ai une erreur #NOM?

Merci pour votre réponse rapide.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
je teste toujours avant de proposer...
https://www.cjoint.com/?3JmjRVgO4zD
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
Bonjour à tous,

J'ai mis la macro dans la feuille correspondante

Une fonction se met dans un module :)
0
elglouton Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est vrai ça marche nikel je m'excuse si tu as pensé que je disais que ça ne marcher pas je voulais dire que je n'arriver pas à le faire fonctionner et demander la marche à suivre mais j'ai pas du être clair.

Je l'avais poser dans le module d'un autre classeur ouvert tromper de fichier...

Encore Sorry et merci pour ta réponse c'est parfait
0
kingfadhel
 
Function NumChaine(chaine)
temp = ""
For i = 1 To Len(chaine)
c = Mid(chaine, i, 1)
If c >= "0" And c <= "9" Or c = "." Then temp = temp & c
Next i
NumChaine = temp
End Function


exemple:
En A1 : Tunisie 2011
En B1: =NumChaine(A1) ==> 2011
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
Bonjour,
Pourquoi réveiller un sujet 5 ans après pour faire le contraire de la demande ?
0