Extraction caractères spéciaux d'une cellule

Résolu
gexelpas -  
 gexelpas -
Bonjour,

Je souhaiterais extraire tous les caractères spéciaux, y compris les espaces, contenus dans une cellule.
Ex: J8 / 4510.582038-1 deviendrait J845105820381
Une formule, le permet-elle ?

Merci d'avance.
Cdlt,

4 réponses

  1. jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   9 984
     
    Bonjour,

    Tu pourrais voir le code VB de cet article : https://fr.extendoffice.com/documents/excel/4352-excel-remove-text-from-cell-containing-numbers.html

    Autre+F11 et Autre+Q il faut lire Alt+F11 et Alt+Q
    et dans le code changer :

    en 11 : Asc(strChar) <= 90 Then
    en 16 : OnlyNums = strTemp

    et peut être ce nom OnlyNums a chaque fois qu'il est mentionné
    1
    1. gexelpas
       
      Bonjour et merci pour cette réponse, mais je souhaite éviter d'ajouter du VBA dans ce fichier...
      0
  2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonjour,

    En plus je suppose que ces caractères ne sont pas toujours à la même place. Il faudrait faire la liste de tous les caractères possibles pour en avoir le nombre et faire une succession de SUBSTITUE() comme cette formule faite pour 8 caractères dont l'espace.

    =SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;",";"");".";"");"-";"");"_";"");"/";"");"$";"");"&";"");" ";"")


    Sinon l'ami michel_m (salutations) doit être en train de concocter une macro qui fera la même chose

    Cordialement
    1
    1. gexelpas
       
      Bonjour,
      Merci pour la réponse.
      Je vais effectivement "empiler" les SUBSTITUE en dressant au préalable la liste exhaustive des caractères spéciaux.
      Pas la solution la plus "académique", mais j'aimerais éviter de rajouter des codes dans ce fichier excel...
      En tout cas, merci !
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour à tous
    la fonction CODE renvoie code Ascii
    le code des caractères spéciaux sont inférieurs à 48 et supérieurs à 127

    avec une fonction Vba on pourrait boucler sur le mot et chasser les "spéciaux" peut-^tre avec une expression régulière (regexp)

    mais je regarde comment se dit code en VBA....

    1
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      errata supérieur à 90 au lieu de 127 :-/
      0
    2. gexelpas
       
      Bonjour,
      Merci pour ces réponses.
      Comme cité plus haut, je vais empiler les SUBSTITUE", car j'aimerais éviter d'ajouter un code VBA dans ce fichier...
      Merci en tout cas !
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

    sera t 'il toujours les m^mes ?

    0
    1. gexelpas
       
      Malheureusement, non...
      0