Passer le résultat d'une fonction en texte

Résolu
0548 Messages postés 81 Statut Membre -  
0548 Messages postés 81 Statut Membre -
Bonjour,
j'ai utilisé la fonction TRIM("text") ; [dans mon cas TRIM(B1)..TRIM(B1775)] et qui est équivalente à SUPPRESPACE("text") en français .
Cette fonction permet d'éliminer les espaces. j'ai eu le résultat ce que je voulais Mais le problème est que lorsque j'ai voulu passé ce résultat en valeur (en texte) en faisant [ctr c ; ctr v puis clique droit puis j'ai appuyé sur '123'] j'ai eu le résultat initial ==> c'est à dire les espaces n'ont pas disparu .
Alors pouvez vous m'aidez à résoudre mon problème et Merci d'avance.

1 réponse

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    il y a de fortes chances que l'espace n'en soit pas un, mais plutôt un espace insécable
    remplacer TRIM("text") par
    [B1] = Replace([B1], Chr(160), "")
    essayez
    Cdlt
    2
    1. 0548 Messages postés 81 Statut Membre
       
      Rebonjour;
      Oui c'est vrai , ce n'est pas un espace mais lorsque j'ai voulu mettre votre méthode ; j'ai eu un message d'erreur la raison est que la fonction REPLACE() me demande la position de cet espace insécable comme vous l'avez mentionné et j'ai pas une positon fixe ; ni les mémes caractéres qui les précèdes pour faire (search("text";B1)+1);
      Voici le fichier sur le quel je travail dans le cas ou j'étais pas clair dans ma question:
      https://www.cjoint.com/c/EGrglgrYfGs
      Merci.
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      Par formule pour supprimer un caractère insécable, vous pouvez utiliser SUBSTITUTE(anglais) qui ne demande pas de position, mais les supprime tous:
      =SUBSTITUTE(cellule;car(160);"")
      à toutes fins utiles pour supprimer des espaces insécables en colonne B:
      sélectionner une cellule qui en contient un, le copier dans le texte affiché dans la barre de formule
      sélectionner la colonne B
      touche ctrl et h
      remplacer: coller le caractère copié
      par ne rien mettre
      et remplacer tout
      crdlmnt
      0
    3. Frenchie83 Messages postés 2254 Statut Membre 339
       
      Bonjour à tous
      En fait, ce ne sont pas des espaces (insécables ou pas), mais plutôt, les retours chariot ou des espaces, que vous voulez supprimer, dans ce cas
      Sub remplacer()
          [B10].Select
          Selection.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, _
              SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
              ReplaceFormat:=False
      End Sub

      avec ceci , cela fonctionne
      Cdlt
      0
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Re Frenchie
      alors la suppression du retour chariot fonctionne aussi par formule avec:
      SUBSTITUE(B1;CAR(10);"")
      mais vu le volume du fichier, c'est évidemment plus léger en VBA
      crdlmnt
      0
    5. Frenchie83 Messages postés 2254 Statut Membre 339
       
      Effectivement ça marche aussi bien
      Bonne journée
      0