Comment supprimer des 0 dans une chaîne de caractères

CAGNIUN Messages postés 7 Statut Membre -  
CAGNIUN Messages postés 7 Statut Membre -
SVP aidez moi à supprimer des 0 dans:

PCMF0000458 ou GB0007895 ou AFR0047
A voir également:

8 réponses

CAGNIUN Messages postés 7 Statut Membre 1
 
Exemple j'ai AFRD000450 et je veux avoir AFRD450

DREF00602 va devenir DREF602
1
fabul Messages postés 45263 Date d'inscription   Statut Modérateur Dernière intervention   5 770
 
Salut,

Avec Ctrl+H

Désolé, je répondais pour un fichier texte.

Excel je sais pas.
0
m@rina Messages postés 26481 Date d'inscription   Statut Contributeur Dernière intervention   11 485
 
Bonjour

Si, si, ça va bien marcher aussi avec Ctrl+H ! ;))
Du fait que c'est de l'alphanumérique, et donc du texte.

m@rina
0
Mazzaropi Messages postés 1985 Date d'inscription   Statut Contributeur Dernière intervention   71
 
Cagnion,Bonjour.

Les données présentées sont considérées comme du texte dans des feuilles de calcul Excel.

Il y a plusieurs façons dans Excel de faire ce dont vous avez besoin.

Étant donné que vous n'avez pas expliqué comment ces données se trouvent dans votre feuille de calcul et comment vous voulez que le remplacement soit effectué, il est difficile d'aider avec précision.

Passons à quelques suggestions.

a) Suggestion correcte du noble collègue fabul. (salutations du Brésil)
Sélectionnez ces données et appuyez sur CTRL + H.
Tapez simplement 0 dans la première option et appuyez sur Modifier.
Triés.

b) Si vos données sont dans la cellule A1, fais le:
B1 ---> =SUBSTITUE (A1; "0"; "")
Triés.

c) Il est possible de faire fonctionner un code VBA sans écrire de formules dans les cellules.
Si c'est ce que tu veux, je suis sûr qu'il y aura un autre collègue qui pourra vous aider.

Donnez-nous un modèle de votre feuille de calcul pour nous aider à vous aider.

J'espère avoir aidé.

Cordialement,
------
Belo Horizonte, MG - Brasil.
Marcílio Lobão
0
CAGNIUN Messages postés 7 Statut Membre 1
 
Bonjour et merci pour vos apports

ceci "B1 ---> =SUBSTITUE (A1; "0"; "")" marche vraiment. Mais s'il y a un "0" à la fin de la chaine ça le supprime aussi; ce que je ne veux pas. Car je veux concerver les "0" de la fin de la chaine dans la cellule.

Encore merci pour l'expertise.
0
Vaucluse Messages postés 27336 Statut Contributeur 6 442
 
SUBSTITUE retire bien tous les 0 d'un texte comme le code est écrit ici
Donnez nous quelques exemples complets de vos textes qu'on puisse voir le problème
à vous lire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 27336 Statut Contributeur 6 442
 
et quel est l'argument en règle générale qui permet de choisir les 0 à éliminer
en attendant plus de précisions voyez avec, pour les cas précis que vous citez
=SUBSTITUE(SUBSTITUE(B3;"000";"");"00";"")
qui va retirer les 0 s'ils sont par deux , multiple de deux, trois ou multiple de 3, ou par 5 ou multiple de 5, mais conserver les 0 seuls
à vous lire
crdlmnt
0
tontong Messages postés 2584 Statut Membre 1 062
 
Bonjour,
D'une façon plus générale utiliser une fonction Texte() pou accéder à un format sans 0 au début. À vérifier:
=GAUCHE(A1;CHERCHE(0;A1;1)-1)&TEXTE(DROITE(A1;NBCAR(A1)-CHERCHE(0;A1;1)+1);"standard")
0
CAGNIUN Messages postés 7 Statut Membre 1
 
Merci Expert!

Ce code aussi marche parfaitement pour mon travail.
0
CAGNIUN Messages postés 7 Statut Membre 1
 
l'argument qui permet à éliminer les 0 à supprimer: ces 0 sont entre les lettre et les chiffres

Exemple ERAT0004500: c'est les "000" qui sont entre T et 4 que je veux éliminer.

Merci expert car ta formule marche seulement je viens de repérer "00" à la fin d'une chaine de caractères à conserver.
0
Vaucluse Messages postés 27336 Statut Contributeur 6 442
 
alors je n'ai plus que ça, qui ne fonctionnera pas dans tous les cas:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"0000";"");"000";"");"00";"")&SI(DROITE(A1;2)="00";"00";"")
cas à éliminer :
  • le nombre de 0 à éliminer entre les deux données est inférieure à 2 (pas de solution) ou supérieur à 4 (dans ce cas il faut rajouter un SUBSTITUE avec "00000"

=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"00000";"");"0000";"");"000";"");"00";"")&SI(DROITE(A1;2)="00";"00";"")
  • les 0 inclus dans la deuxième partie à conserver avant la fin du code sont plus de un (exemple ....6002)

au delà il faudra sûrement passer par VBA mais ce n'est pas de mon ressort
bonne chance crdlmnt
0
tontong Messages postés 2584 Statut Membre 1 062
 
avez- vous vérifié la proposition du#8?
=GAUCHE(A1;CHERCHE(0;A1;1)-1)&TEXTE(DROITE(A1;NBCAR(A1)-CHERCHE(0;A1;1)+1);"standard")
0
CAGNIUN Messages postés 7 Statut Membre 1
 
Merci Expert!
ça marche bien maintenant hein
0