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

8 réponses

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

    DREF00602 va devenir DREF602
    1
  2. fabul Messages postés 42186 Date d'inscription   Statut Modérateur Dernière intervention   6 071
     
    Salut,

    Avec Ctrl+H

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

    Excel je sais pas.
    0
    1. m@rina Messages postés 27633 Date d'inscription   Statut Modérateur Dernière intervention   11 564
       
      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
  3. Mazzaropi Messages postés 1983 Date d'inscription   Statut Contributeur Dernière intervention   72
     
    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
  4. 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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  7. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    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
    1. CAGNIUN Messages postés 7 Statut Membre 1
       
      Merci Expert!

      Ce code aussi marche parfaitement pour mon travail.
      0
  8. 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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
    2. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      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
  9. CAGNIUN Messages postés 7 Statut Membre 1
     
    Merci Expert!
    ça marche bien maintenant hein
    0