SUPPRIMER tous les caractères, à partir d'un caractère

cephalotus

XLDnaute Occasionnel
Bonjour à tous, je voudrais faire l’opération suivante :

J’ai une colonne avec 60000 références. Je voudrais supprimer tous les caractères après l’underscore (« _ » touche 8) et également l’underscore dans la même opération. (Attention, certaines références n’ont pas d’underscore. Il ne faut donc rien supprimer).

Exemple :

:confused: Fichier avant :

OP169T_2575
RP169T_8
AP154T_212
BP154T_629
OP154T_2564
RP154T_8881
AP154T
BP154T_630


:) Fichier après :

OP169T
RP169T
AP154T
BP154T
OP154T
RP154T
AP154T
BP154T


Merci pour toutes vos réponses :)
 

Hervé

XLDnaute Barbatruc
Re : SUPPRIMER tous les caractères, à partir d'un caractère

bonjour tout le monde

une solution vba renvoi en colonne 2

Code:
Sub Bouton2_QuandClic()
Dim tablo
Dim i As Long

tablo = Range("a1:a" & Range("a65536").End(xlUp).Row)

For i = 1 To UBound(tablo)
    tablo(i, 1) = Split(tablo(i, 1), "_")(0)
Next i

Range("b1").Resize(UBound(tablo), 1) = tablo
    
End Sub

salut
 

cephalotus

XLDnaute Occasionnel
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour Le forum,


J’ai une colonne " C " avec 60000 lignes remplies ou vides. Je voudrais supprimer tous les caractères après le slache " / " ainsi que le slache " / " dans la même opération. (Attention, certaines références n’ont pas de slache . Il ne faut donc rien supprimer).

J'ai tenté de modifier la formule ci-dessous, mais je n'arrive pas avoir le résultat souhaité :

=SI(ESTNUM(TROUVE("_";B1));GAUCHE(B1;TROUVE("_";B1 )-1);B1)

J'ai également tenté de modifier la formule ci-dessous, mais je n'arrive pas avoir le résultat souhaité :

=DROITE(C2;4)


Fichier avant :

19/OP169
60/RP169T
0/AP154T
629

69/RP154T
AP1
668/BP15


Fichier après :

OP169
RP169T
AP154T
629

RP154T
AP1
BP15

Auriez-vous une solution ?

Je vous remercie par avance pour vos réponses.
 

Misange

XLDnaute Barbatruc
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour

c'est super d'utiliser les formules qu'on te fournit mais encore mieux d'essayer de les comprendre :)
trouve("_";B1) dans la première question te permet de rechercher le caractère underscore...
si tu veux le changer pour trouver £ ou / ou | il te suffit de modifier la formule en conséquence.
Regarde dans l'aide d'excel ce que font les formules gauche, droite, trouve estnum et fais des essais. Ca te permettra d'ajuster par la suite à d'autres besoins.
 

cephalotus

XLDnaute Occasionnel
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour Misange, le forum,

Je suis bien d'accord avec toi, d'autant qu'avant de demander de l'aide sur le forum, j'essaie de comprendre, de trouver une solution.

Ligne 12660: 09/1195

Voici ma formule modifiée : =SI(ESTNUM(TROUVE("/";C12660));DROITE(C12660;TROUVE("/";C12660 )-1);C12660)

Le résultat: 95

Je n'ai pas trouvé comment supprimer le nombre de caractères souhaité. En modifiant le -1 de la formule, je n'arrive pas à avoir le résultat voulu.


Par ailleurs avec la formule =DROITE(C2;4) c'est encore pire. Toutefois, j'ai bien compris comment supprimer le nombre de caractères souhaités.

Je vous remercie par avance pour vos réponses.
 

Misange

XLDnaute Barbatruc
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Une autre façon de faire (en mettant 09/1195 en A1 pour la démo !) :
=trouve("/";A1) renvoie 3
tu veux donc garder les 3-1 = 2 premiers caractères de gauche
il te suffit d'écrire dans ce cas = gauche(A1;trouve("/";A1)-1)
Si tu veux au contraire garde ce qui est à droite du slash
=DROITE(A1;NBCAR(A1)-TROUVE("/";A1))

par ailleurs de façon encore plus simple, avec donnée convertir tu splittes ta colonne en 2 en utilisant le / comme caratère de séparation et tu vires la 2° colonne ;-)
 

ralph45

XLDnaute Impliqué
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour le fil,

Je suis assez bourrin et pour répondre à la question initiale :

1° tu sélectionnes ta colonne (ou ton tableau en entier (Ctrl + *)) ;
2° Edition chercher/remplacer. Chercher "_*"/ Remplacer par "".

Tu fais un enregistrement de ta commande, pour ré-exécuter à l'avenir cette manipulation.

A plus...
 
Dernière édition:

cephalotus

XLDnaute Occasionnel
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour Misange, le forum,

Merci pour ta réponse. J'ai déjà testé de "convertir". Toutefois, ça ne convient pas à mon résultat. J'ai testé les formules que tu as écrites. Elles ne conviennent pas non plus, car lorsque la cellule est vide, j'ai ce résultat: #VALEUR!
Je ne peux ensuite pas appliquer de filtre, car j'ai beaucoup de cellules vides dans ma colonne.

Sans être sur, je pense vraiment avoir besoin de la formule ci-dessous, car elle a la particularité de recopier à l'identique mes cellules, ainsi que les vides.

--------------------------

=SI(ESTNUM(TROUVE("/";A1));DROITE(A1;TROUVE("/";A1)-1);A1)

--------------------------

J’ai essayé 3-1, mais Excel indique Formule incohérente !

=SI(ESTNUM(TROUVE("/";A18454));GAUCHE(A18454;TROUVE("/";A18454)* 3-1);A18454)

Ça fait plus de 2h que je cherche. Je ne comprends pas ce que je dois modifier pour arriver au résultat.

Saurais tu à où modifier le nombre de caractères à supprimer.

Je vous remercie par avance pour ta, vos réponses.
 

JNP

XLDnaute Barbatruc
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour le fil :),
Ben, y a du boulot :rolleyes:...
Si tu avais un peu analyser le post de Misange, tu aurais vu que tout était dedans, puisque tu part de la position du slash (un slache, ça doit être en ch'timi :p...), mais vu que tu part de la droite, il faut le retrancher au nombre de caractères ;)...
Code:
=SI(ESTNUM(TROUVE("/";A1));DROITE(A1;NBCAR(A1)-TROUVE("/";A1));A1)
Bonne suite :cool:
 

cephalotus

XLDnaute Occasionnel
Re : SUPPRIMER tous les caractères, à partir d'un caractère

Bonjour JNP, le forum,

Oups, la boulette !! (slash)


Je te remercie pour ta réponse. Ta formule fonctionne très bien. C'est vrai qu'il y a du boulot. A ma décharge, je n'ai jamais étudié Excel et j’apprends seul. Lorsque je bosse sur Excel, CAD, pas souvent. De fait, pour trouver une solution j'essaie comme je peux de comprendre comparer les formules qui ressemblent au résultat souhaité.
Je galère, mais y arrive parfois.

Tout à l’heure, j’ai pourtant bien lu la décomposition de Misange. Il est vrai que je n’ai pas compris, mais j'ai fait un certain nombre de tests. À vrai dire, avec ta formule sous les yeux, la décomposition de Misange est un peu plus claire.

Dans tous les cas, je vous remercie pour vos réponses. :)
 

Misange

XLDnaute Barbatruc
Re : SUPPRIMER tous les caractères, à partir d'un caractère

J'avais lu un peu vite ta demande ! heureusement que JNP t'a répondu...

Tu sais, on a à peu près tous appris par nous même ! Excel ne s'enseigne pas vraiment. Il y a des formations qui te donnent des bases mais la variété des situations qu'on peut traiter avec excel fait qu'il est impossible d'en faire le tour dans une formation (ou alors il faut avoir de sacrés moyens !!). Le seul truc important c'est de comprendre comment faire pour progresser.

Quand on voit une super formule on se dit qu'on comprendra jamais comment ça marche. De ce point de vue une macro est en fait souvent plus facile à suivre car on a des outils plus évidents.
Ce que je te conseille : tu écris en A1 ce que tu veux traiter. Puis au lieu de tenter de construire un une seule fois la formule, tu la mets par petits bouts dans différentes cellules
=trouve("/";A1)
=nbcar(A1)
=droite(A1;2)
=gauche(A1;2)
tu vois les résultats et ensuite ça te permet de reconstruire une nouvelle formule

tu commences simple : par le cas le plus fréquent. Ce n'est qu'après que tu complexifies et que tu ajoutes des si (si la cellule est vide, si il y a deux / dans le texte, si...)
plus tu avances toi même, plus tes questions deviennent précises et plus tu progresse. Les forums sont là pour ça et franchement on se demande comment on faisait avant ! C'est quand même plus facile d'apprendre comme ça qu'en suivant un bouquin pas à pas

N'oublies pas de te servir de la fonction évaluation de formules dans l'onglet formules/audit de formules. Ca aide !
 

Discussions similaires

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231