Excel: Mise au point d'une Fonction copie de caractère

Résolu/Fermé
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 - 19 nov. 2013 à 13:52
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 - 19 nov. 2013 à 15:30
Bonjour,

Je vais vous exposé mon problème et ma méthode de résolution j'espère que c'est clair. merci de bien lire ma description.

Voici mon problème:

J'ai une colonne dans laquelle apparaît des description suivi d'un code:
- Le nombre de caractère et d'espace dans la description varie tout le temps.
- Le point commun de tous c'est code, c'est que en partant de la droite le code s'arrête une fois qu'on arrive à l'espace.

ex:
Des crip tion Des cripti on Code
Des cripti on Co
D esc ript ion Desc Ode
Des crip tion Des cripti on CodeCod

J'ai besoin de pouvoir copier ce code dans une autre colonne.

Solution que j'envisage:

je voudrais utiliser la fonction type GAUCHE(A1;3) et la fonction type TROUVE(" ";A1)
Fonction ensemble ça donne quelque chose comme:

=GAUCHE(A1;TROUVE(" ";A1)-1)

dans mon cas le coté qui m'intéresse c'est le cote droit pas le gauche .... (gardons ça en tête pour plus tard)

Analogie pour tester la fonction:

Je prends une ligne sur laquelle j'écris

jean jacques j'utilise =GAUCHE(A1;TROUVE(" ";A1)-1) dans la colonne d'à coté.
ce qui me donne jean. jean jacques> jean

Peut importe ce que je rajoute à Jean j'obtiens bien la même chose.

jeafdsn jacques > jeafdsdn


Maintenant je veux isoler jacques comme dans mon cas précis.


j'utilise alors =DROITE(A1;TROUVE(" ";A1)-1) mais j'obtiens pas jacques en entier ...


jean Jacques > cques ?

si j'ajoute des lettres dans la partie "cques" de jacques la fonction recopie que les 5 dernières lettres.

Je pense que je n'arrive pas à régler la fonction notamment au niveau du "-1"



Je travaille avec excel 2003.


Quelqu'un peut il m'aider ? :)



A voir également:

7 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 748
19 nov. 2013 à 14:02
Bonjour,

Sur ton exemple de Jean Jacques, que te renvoie la fonction TROUVE(" ";A1) ?
L'emplacement du caractère espace dans Jean Jacques; soit 5.
TROUVE(" ";A1)-1 dans l'exemple de Jean Jacques revoie donc 4.

La fonction DROITE fonctionne comme ceci :
DROITE(TEXTE;NombreDeCaractères)
Donc DROITE(Jean Jacques; 4) renvoie les 4 derniers caractères de Jean Jacques, soit ques

Ce que tu veux, c'est connaitre le nombre de caractères situés après l'espace. Mathématiquement, ce nombre de caractères est égal au nombre total de caractère de la cellule moins l'emplacement de l'espace.

Exemple de Jean Jacques :
Nbre total de caractères : 12
Emplacement de l'espace : 5
Différence : 7
Vérification : Jacques comporte bien 7 caractères.....

Donc, il te faut :
* Nbre de caractère total de A1 : =NBCAR(A1)
* Emplacement de l'espace : =TROUVE(" ";A1)
* Fonction DROITE

Mixage des trois :
=DROITE(A1;NBCAR(A1)-TROUVE(" ";A1))
2
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
19 nov. 2013 à 14:22
Salut pijaku,

pas vu ta proposition au moment de poster
j'ai interprété différemment la demande
Extraction depuis le dernier espace jusqu'à la fin du texte

cdlmnt
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 748
19 nov. 2013 à 14:35
Salut ccm81,

J'avais choisi de traiter le problème pas à pas.
J'allais donc y venir. Tout doucettement, en douceur, de manière didactique.
Mais bon, l'essentiel étant le résultat, j'imagine Y04NN content de ta formule.
Bonne fin de journée à toi.
0
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 9
19 nov. 2013 à 14:37
Quoi qu'il en soit merci à vous deux pour cette aide précieuse, je suis la pour apprendre :)
0
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
Modifié par ccm81 le 19/11/2013 à 14:18
Bonjour

Sans macro je ne vois pas, ce qui ne veut pas dire que ...
Avec macro une proposition
1. Alt-F11 puis Insertion Module et copier le code
2. s'utilise comme une fonction excel dans la feuille
https://www.cjoint.com/?3KtosjpQNb6

Public Function ExtraitCode(s As String) As String
Dim ss As String, r As Long
ss = Trim(s)
ss = StrReverse(ss)
r = InStr(1, ss, " ")
If r = 0 Then
ExtraitCode = s
Else
ss = Left(ss, r - 1)
ExtraitCode = StrReverse(ss)
End If
End Function

Bonne suite
1
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
19 nov. 2013 à 14:29
Re

Si sans macro, c'est possible!
Merci à Boisgontier
=STXT(A1;CHERCHE("|";SUBSTITUE(A1;" ";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))+1;99)

Bonne journée
1
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 9
19 nov. 2013 à 14:32
ouuufffff t'es un tueur !!!!!!
0
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
Modifié par ccm81 le 19/11/2013 à 15:21
Voilà

les fonctions que tu utilises (rendons à Boisgontier ce qui est à Boisgontier)

https://www.cjoint.com/?3KtpuybXF7U

Bon courage
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 9
19 nov. 2013 à 14:29
@ pijaku

ok j'utilise mal la fonction Trouver ()...

La solution que tu proposes solutionne le problème avec jean jacques mais pas mon problème initial qui est:

Copier la dernière chaîne de caractère en partant de la gauche ou la première chaîne de caractère ne partant de la droite peu important la longueur de la description et la longueur du code.

ex:

Des crip tion Des cripti on Code > Code
Des cripti on Co > Co
D esc ript ion Desc Ode > Ode
Des crip tion Des cripti on CodeCod > CodeCod
0
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 9
19 nov. 2013 à 14:35
à ccm8,

C'est ça merci !! La formule marche !!

Est ce que tu peux décomposer un peu le fonctionnement ou traduire par une phrase stp, parce que je ne suis pas familier avec les fonctions que tu utilises pour que je puis comprendre ce que je fais.
0
Y04NN Messages postés 18 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 21 février 2014 9
19 nov. 2013 à 15:30
Merci beaucoup pour ton aide.

Bonne continuation
0