Problème espaces dans formule

bonjour,

dans ma formule ci-jointe:

=CONCATENER(SUBSTITUE(B5;(DROITE(B5;NBCAR(B5)-TROUVE(" ";B5;1))+0);"");" ";E5)

je prends le texte en b5 :"butchy_amande 2199"

je prends le chiffre en e5: "3580"

et j' obtiens en g5 "butchy_amande 3580"

je suis obligé de mettre "_" entre les mots pour que cela fonctionne, autrement # valeur s'affiche

comment faire pour le faire marcher sans devoir écrire les "_" dans le nom ?

=GAUCHE(B5;CHERCHE("|";SUBSTITUE(B5;" ";"|";NBCAR(B5)-NBCAR(SUBSTITUE(B5;" ";"")))))&E5

Bonjour,

Un essai

9butchy.xlsx (16.04 Ko)

Bonjour,

Aucune nécessité ! Quelle est la chaîne de départ ?


Si ce que tu indiques en premier est ta chaîne de départ :

=SUBSTITUE(SUBSTITUE(B5;DROITE(B5;4);E5);"_";" ")

Cordialement.

C'est ton +0, dont on se demande ce qu'il venait faire... qui provoquait l'erreur #VALEUR!

Maintenant, s'il y a un trait de soulignement ta formule pouvait fonctionner , mais pas sans.

Sans, celle-ci fonctionne : =SUBSTITUE(B5;DROITE(B5;4);E5)

mais elle présuppose connu le nombre de chiffres à droite.

salut,

je vous fais passer le fichier complet, se sera plus explicite et simple pour vous

onglet ajustement qtés

en résumé, j'importe un txt et le nom s'affiche en b5

je doit garder uniquement le nom sans le chiffre à la fin qui change selon la recette, qui peut être composé de 1 ou plusieurs mots avec ou sans espace

je récupère donc ce nom et j'ajoute derrière, le chiffre figurant en e4

ce nom final doit être en g5

le but est que cela fonctionne quelque soit le nom d'entrée, même si il n'y a pas le poids à la fin

Re,

=SUBSTITUE(B5;DROITE(B5;NBCAR(B5)-EQUIV(VRAI;ESTNUM((STXT(B5;LIGNE(1:255);1)+0));0)+1);E4)

Matricielle (Ctrl+Maj+Entrée)

Et même avec un +0 (qui là sert à renvoyer un nombre).

merci ,

si mon fichier d'entrée n'a pas de chiffre à la fin, j'affiche # NA sur mon nom de sortie, on peut corriger cela, pour quand même afficher le nom d'entrée suivi du poids figurant en E4 ?

je veux bien un exemple avant de répondre ...

avec SIERREUR on doit s'en sortir

ok, il te suffit juste de taper mousse chocolat en b5 et l'on affiche #n/a en e5

il faudrait que je déplace ma cellule b5 en b155, et qu'en b5, j'affiche la correction pour avoir tjrs le nom suivi du poids.

si il fait parti du nom du fichier, je garde le nom complet et ça marche comme à présent

si il n'y a pas le poids compris dans le nom, je fais un concatener du nom + le poids en b4

le tout, c'est qu'en b5, se trouve tjrs le nom du fichier txt comprenant la partie texte suivi de son poids, séparés d'un espace.

Bonjour à tous

Ma contribution

=SI(ESTNUM(DROITE(B5;1)*1);GAUCHE(B5;TROUVE("µ";SUBSTITUE(B5;" ";"µ";NBCAR(B5)-NBCAR(SUBSTITUE(B5;" ";""))))-1);B5)&" "&E4

Pas matricielle

J'ai fait un test avec/sans chiffre(s) à la fin et ça à l'air de bien fonctionner

Tant qu'à faire :

Function NOMSORTI(NomEntré As String, Substit) As String
    Dim temp
    Application.Volatile
    temp = Split(NomEntré)
    If IsNumeric(temp(UBound(temp))) Then
        temp(UBound(temp)) = ""
    Else
        temp(UBound(temp)) = temp(UBound(temp)) & " "
    End If
    NOMSORTI = Join(temp) & Substit
End Function

Dans la cellule (que tu pourras alors conserver fusionnée :

=NOMSORTI(B5;E4)

ça simplifie.

Plus d'autres cas ?

je tiens à remercier toutes les personnes qui m'ont aidé .

tout fonctionne très bien, il ne me reste plus qu' à continuer

bon week end et à +

Rechercher des sujets similaires à "probleme espaces formule"