Passer le résultat d'une fonction en texte

Résolu/Fermé
0548 Messages postés 73 Date d'inscription samedi 21 mars 2015 Statut Membre Dernière intervention 19 janvier 2017 - 17 juil. 2015 à 06:52
0548 Messages postés 73 Date d'inscription samedi 21 mars 2015 Statut Membre Dernière intervention 19 janvier 2017 - 17 juil. 2015 à 09:23
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.
A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
Modifié par Frenchie83 le 17/07/2015 à 07:28
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
0548 Messages postés 73 Date d'inscription samedi 21 mars 2015 Statut Membre Dernière intervention 19 janvier 2017
17 juil. 2015 à 08:11
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 407
Modifié par Vaucluse le 17/07/2015 à 08:49
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
Modifié par Frenchie83 le 17/07/2015 à 08:57
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 407
Modifié par Vaucluse le 17/07/2015 à 08:58
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
17 juil. 2015 à 09:01
Effectivement ça marche aussi bien
Bonne journée
0