Microsoft 365 Supprimer des chiffres d'une cellule sous condition

mahakas

XLDnaute Nouveau
Bonjour,

Je souhaite trouver une formule qui va me permettre de supprimer des chiffres situés au début (à gauche) de mes cellules si mes cellules commencent par des chiffres.
Exemples :
Ma cellule = "1-Blabla1" => Objectif = "Blabla1"
Ma cellule = "01 Blabla1" => Objectif = "Blabla1"
Ma cellule = "0001-Blabla1" => Objectif = "Blabla1"
Ma cellule = "001 Blabla1" => Objectif = "Blabla1"
Ma cellule = "Blabla1" => Objectif = "Blabla1"

J'ai essayé les formules STXT et DROITE mais sans succès, car le nombre de caractères ou le texte cherché n'est pas constant.

Pouvez-vous m'aider s'il vous plaît ?

Merci d'avance pour votre collaboration.
 
Solution
Hello,

Tu peux tester avec cette combinaison de deux fonctions :

VB:
Function SuppChif(a As String)
Dim I As Byte
Application.Volatile
SuppChif = a
    For I = 0 To 9
    SuppChif = Replace(SuppChif, I, "")
    Next I
End Function

Function NumChaine(chaine)
Application.Volatile
TempChaine = Trim(Application.Substitute(chaine, ",", "."))
Temp = ""
For I = 1 To Len(TempChaine)
    c = Mid(TempChaine, I, 1)
    If c >= "0" And c <= "9" Or c = "." Then Temp = Temp & c
  Next I
NumChaine = Val(Temp)
End Function

Elles te permettent de splitter ce qui est du alpha du num, et donc dans ta cellule tu écris un truc du genre =SuppChif(A1)&"-"&NumChaine(A1)

don_pets

XLDnaute Occasionnel
Hello,

Tu peux tester avec cette combinaison de deux fonctions :

VB:
Function SuppChif(a As String)
Dim I As Byte
Application.Volatile
SuppChif = a
    For I = 0 To 9
    SuppChif = Replace(SuppChif, I, "")
    Next I
End Function

Function NumChaine(chaine)
Application.Volatile
TempChaine = Trim(Application.Substitute(chaine, ",", "."))
Temp = ""
For I = 1 To Len(TempChaine)
    c = Mid(TempChaine, I, 1)
    If c >= "0" And c <= "9" Or c = "." Then Temp = Temp & c
  Next I
NumChaine = Val(Temp)
End Function

Elles te permettent de splitter ce qui est du alpha du num, et donc dans ta cellule tu écris un truc du genre =SuppChif(A1)&"-"&NumChaine(A1)
 

mahakas

XLDnaute Nouveau
Bonjour à tous,

A essayer par formule
VB:
=STXT($A1;SIERREUR(SIERREUR(CHERCHE("-";$A1);CHERCHE(" ";$A1));0)+1;99)

JHA
Bonjour JHA,

Merci pour votre retour.
La fonction marche bien sauf pour le 5ème cas.
En effet, j'ai une phrase de type "Bla bla1". Quand j'applique votre formule, j'ai comme résultat "bla1".
Je m'excuse de ne pas avoir pris le bon exemple :(

Mahakas
 

mahakas

XLDnaute Nouveau
Hello,

Tu peux tester avec cette combinaison de deux fonctions :

VB:
Function SuppChif(a As String)
Dim I As Byte
Application.Volatile
SuppChif = a
    For I = 0 To 9
    SuppChif = Replace(SuppChif, I, "")
    Next I
End Function

Function NumChaine(chaine)
Application.Volatile
TempChaine = Trim(Application.Substitute(chaine, ",", "."))
Temp = ""
For I = 1 To Len(TempChaine)
    c = Mid(TempChaine, I, 1)
    If c >= "0" And c <= "9" Or c = "." Then Temp = Temp & c
  Next I
NumChaine = Val(Temp)
End Function

Elles te permettent de splitter ce qui est du alpha du num, et donc dans ta cellule tu écris un truc du genre =SuppChif(A1)&"-"&NumChaine(A1)
Merci beaucoup pour votre code, ça marche très bien :D
Par contre, quand j'ai mis "=SuppChif(A1)&"-"&NumChaine(A1)" pour une cellule contenant ""0001-Blabla1" j'ai eu comme résultat "-Blabla1-0001".
Je me suis contentée donc de "=SuppChif(A1)" et ça a très bien marché !
 

Discussions similaires

Statistiques des forums

Discussions
312 938
Messages
2 093 775
Membres
105 818
dernier inscrit
daisyli67