Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Merci beaucoup pour votre code, ça marche très bien
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…