XL 2013 Supprimer chiffres avant en début de cellules

thebenoit59

XLDnaute Accro
Bonjour,

Après avoir compilé plusieurs centaines de devis, afin de créer une base de données, j'aimerai pouvoir supprimer des chiffres se trouvant en début de cellules, afin de pouvoir supprimer rapidement les doublons (les chiffres changent, pas le texte).

Ayant fais quelques recherches, je ne trouve rien qui réponde à ma demande.

En fichier joint la fameuse liste.

Si des personnes ont une idée, je suis preneur.

D'avance, merci.
 

Pièces jointes

  • Fichier de base 2.xlsm
    205.6 KB · Affichages: 198

Jacou

XLDnaute Impliqué
Re : Supprimer chiffres avant en début de cellules

Bonjour,
si j'ai bien compris, ce que tu souhaites, c'est que le libellé "21.8 Trappes de greniers et escaliers escamotables (60x100cm)" devienne "Trappes de greniers et escaliers escamotables (60x100cm)".
le souci c'est que dans ce cas "1er étage" deviendra "er étage"Jacou
 

Papou-net

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Bonjour thebenoit59, Jacou, le Forum,

Voici une solution qui détecte le premier caractère en majuscule:

Code:
Sub Test()
Dim Cel As Range, ch As String, i As Integer
Application.ScreenUpdating = False
With Feuil1
  For Each Cel In .Range("B20:B" & Rows.Count).SpecialCells(xlCellTypeConstants)
    ch = Cel.Value
    For i = 1 To Len(Cel)
      If Asc(Mid(Cel, i, 1)) > 64 Then
        ch = Mid(Cel, i)
        Cel = ch
        Exit For
      End If
    Next
  Next
End With
Application.ScreenUpdating = True
End Sub
Cordialement.
 

thebenoit59

XLDnaute Accro
Re : Supprimer chiffres avant en début de cellules

Salut Jacou, salut Papou-net,

Jacou :
Oui effectivement c'est ce que je souhaite, pour ce qui concerne 1er étage cela ne me gêne en aucun cas, car je n'aurai pas besoin, pour la future utilisation des cellules débutant avec un chiffre en règle général.

Papou-net :
Malheureusement tous les textes ne débutent pas avec une majuscule :/
 

Victor21

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Bonjour.
Essayez en A2 (validation matricielle (Ctrl+Maj+Entrée), à recopier vers le bas, puis copier-collage spécial, valeurs :
=SI(B2<>"";STXT(B2;EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B2;".";0);LIGNE($1:$999);1)*1);0);NBCAR(B2)-EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B2;".";0);NBCAR(B2)-LIGNE($1:$999);1)*1);0)-EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B2;".";0);LIGNE($1:$999);1)*1);0)+1);"")
 

job75

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Bonjour thebenoit59, Patrick, [Edit] Jacou, Papou-net,

Formule en A2 à tirer vers le bas :

Code:
=SI(ESTNUM(-SUBSTITUE(GAUCHE(SUPPRESPACE(B2);TROUVE(" ";SUPPRESPACE(B2)));".";));STXT(SUPPRESPACE(B2);TROUVE(" ";SUPPRESPACE(B2))+1;9^9);SUPPRESPACE(B2))
Ensuite Copier-Collage spécial-Valeurs de la colonne A sur elle-même, et vous pouvez supprimer la colonne B.

A+
 
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Supprimer chiffres avant en début de cellules

Réponse trouvée, merci à Jacou et Papou-net,

effectivement, toutes les cellules ne débutent pas avec un texte en majuscule, alors j'ai ajouté une colonne et utilisé la fonction NomPropre, puis copier/coller les valeurs et appliqué ton code.

Réponse obtenue !
Merci !
 

thebenoit59

XLDnaute Accro
Re : Supprimer chiffres avant en début de cellules

Je viens de voir ta réponse job75,
j'ai testé et malheureusement, certains nombre sont directement collés à une lettre (19.7a par exemple), ce qui bloque la suppression des chiffres malheureusement.
Merci quand même :).
 

Victor21

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Re, Bonsoir à tous :)

De même, pour supprimer les espaces avant le texte :
=SUPPRESPACE(SI(B6<>"";STXT(B6;EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B6;".";0);LIGNE($1:$999);1)*1);0);NBCAR(B6)-EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B6;".";0);NBCAR(B6)-LIGNE($1:$999);1)*1);0)-EQUIV(FAUX;ESTNUM(STXT(SUBSTITUE(B6;".";0);LIGNE($1:$999);1)*1);0)+1);""))
 
Dernière édition:

mécano41

XLDnaute Accro
Re : Supprimer chiffres avant en début de cellules

Bonsoir,

J'avais fait ça... mais ce n'est pas fini et je ne vois pas bien comment traiter les cas avec une lettre et des chiffres derrière...et puis cela enlève des valeurs qui devraient rester à certains endroits en début de ligne.


Cordialement
 

Pièces jointes

  • Epuration1.xlsm
    203.2 KB · Affichages: 53

job75

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Re,

Je viens de voir ta réponse job75,
j'ai testé et malheureusement, certains nombre sont directement collés à une lettre (19.7a par exemple), ce qui bloque la suppression des chiffres malheureusement.

Alors s'il y a au plus une lettre accolée avant l'espace on peut décaler de 2 la position de l'espace :

Code:
=SI(ESTNUM(-SUBSTITUE(GAUCHE(SUPPRESPACE(B2);TROUVE(" ";SUPPRESPACE(B2))-2);".";));STXT(SUPPRESPACE(B2);TROUVE(" ";SUPPRESPACE(B2))+1;9^9);SUPPRESPACE(B2))
A+
 

CISCO

XLDnaute Barbatruc
Re : Supprimer chiffres avant en début de cellules

Bonsoir

Et avec
Code:
STXT(B2;MIN(SIERREUR(CHERCHE(CAR(LIGNE(INDIRECT("1:26"))+64);B2);""));NBCAR(B2)-MIN(SIERREUR(CHERCHE(CAR(LIGNE(INDIRECT("1:26"))+64);B2);""))+1)
ou, plus court, mais avec le même principe (recherche de la position de la première lettre avec MIN(CHERCHE(...)))
Code:
DROITE(B2;NBCAR(B2)-MIN(SIERREUR(CHERCHE(CAR(LIGNE(INDIRECT("1:26"))+64);B2);""))+1)
les deux en matriciel ?

@plus
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
466

Statistiques des forums

Discussions
312 158
Messages
2 085 829
Membres
102 994
dernier inscrit
snoopy70