Extraire numéro devant un caractère

Bonjour,

Je suis nouveau dans la communauté, jusque-là j'arrivais à me débrouiller sur Excel avec les messages dans les forums, mais là je suis un peu perdu et j'aimerais, si possible, un peu d'aide.

Dans le cadre d'un projet j'ai besoin d'extraire des numéro devant des caractères (mo : month; w : week ; d : day ; h : hour ; m : minute). J'ai fait un exemple remplis à la main (image ci-dessous). Le soucis c'est que j'ai plus de 1000 lignes à faire. Pouvez-vous, svp, m'aider à trouver les formules que je dois renseigner en case B2 ; C2 ; D2 ; E2 et F2 afin d'automatiser l'extraction des numéros ? J'ai mis le fichier en PJ.

Je vous remercie par avance.

Cordialement,

Veeres

8sample.xlsx (40.86 Ko)
image

Bonjour,

Une proposition qui passe par une fonction personnalisée VBA (code à coller dans un module standard de l'éditeur VBA, fichier à enregistrer au format .xlsm) :

Public Function ExtractDuree(ByVal Duree As String, Optional ByVal Composante As String = "d") As Integer

Dim i As Integer, Tablo() As String, Res As String 'Déclaration des variables

Tablo = Split(Duree, " ") 'Découpe la donnée selon les espaces
For i = LBound(Tablo) To UBound(Tablo) 'Boucle sur chaque élément découpé
    If Tablo(i) Like "*" & Composante Then Res = Tablo(i): Exit For 'Si il concerne la composante cherchée (mo, w, d, etc) on enregistre le résultat et on sors de la boucle
Next i
ExtractDuree = CInt(Replace(Res, Composante, "")) 'Renvoi du résultat

End Function

La fonction s'utilise ensuite comme une fonction Excel classique (ici exemple pour B2, à étendre aux autres cellules ensuite) :

=SIERREUR(ExtractDuree($A2;B$1);"")

En l'absence de précision, la formule renvoie les jours (composante "d")

Merci beaucoup Pedro22 ! c'est exactement ce qu'il me fallait.

Rechercher des sujets similaires à "extraire numero devant caractere"