Pb chaine de caracteres dasn EXcel

Résolu/Fermé
lamarmotte613 Messages postés 6 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 27 février 2008 - 23 févr. 2008 à 10:27
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 26 févr. 2008 à 00:08
Bonjour,

Voila j’ai un tableau Excel avec plusieurs colonnes lorsque la cellule de gauche a un chiffre celle de droite immédiate a un code
Ex : ( rien ,rien) (2 , NAN) (rien rien) (rien rien)(3 ,NAN) etc.…

Chaque ligne ne comporte pas le même code « ce code peut varier e 2 à 4 caractères »

Mon problème est de créer une colonne à l’extrême droite résumant ma ligne pour pouvoir y ajouter un filtre, le problème vient du nombre de caractère,

J’ai essayé la fonction CONCATENER dans une colonne et la fonction STXT dans la colonne a coté mais cela donne des code différent du faite de la différence du nombre de caractère

EX : 1ère ligne code PARA pas de problème
2ème ligne code CAN « CANC » qui ne correspond lus au code
Si une personne peut m’aider

Merci
A voir également:

7 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
24 févr. 2008 à 09:48
bonjour

Pour ne pas être bloqué par les "SI" tu peux aussi utiliser les fonctions DECALER avec EQUIV
=DECALER(A4;;EQUIV("z^z";A4:M4;1)-1;1;1)

Si tu veux rajouter des colonnes,il suffit de changer "M4" et la fonction te fournit le dernier code texte de la ligne.
tu pourrais d'ailleurs mettre ta colonne "filtre" en-tête en colonne A avec la formule
=DECALER(B4;;EQUIV("z^z";B4:IV4;1)-1;1;1)

ce qui te permet de rajouter toutes les colonnes désirées sans modification.
1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
24 févr. 2008 à 11:53
Bonjour gb,

Bravo pour la réponse, la mienne ne me satisfaisait pas vraiment...
Peux-tu expliquer le z^z stp?
Merci et bonne journée à tout le monde

eric
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
23 févr. 2008 à 10:36
Bonjour,

Tu n'es pas très explicite sur comment tu fabriques ta clé ni sur ce que tu veux à quoi qu'elle ressemble...
Mais pluisque ton pb est la longueur ramène tous tes codes à 4 caractères.
Avec par exemple :
=gauche(A1 & "____";4)

Evite d'utiliser l'espace pour compléter tes chaines

eric
0
lamarmotte613 Messages postés 6 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 27 février 2008
23 févr. 2008 à 12:16
Je vais essaye d’être plus explicite

Une colonne où il y a nombre avec une colonne correspondante avec un code etc.

Mes soucis à extrême droite une colonne avec un filtre sur le code

1 PLUS
1 PLA
3 PLA 2 PLA
1 PLUS 1 PLUS
1 BES 1
2 BES 3 BES

si je fait un filtre sur 4 caractères
la première ligne = PLUS
la deuxieme = PLA
La troisième = PLAP
La quatrième PLUS
La cinquième BES
la sixième BESS

voila mon problème

Merci
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
23 févr. 2008 à 12:31
Déposes ton fichier sur www.cijoint.fr et colle le lien ici.
Ensuite explique précisément ce que tu veux.
'dans telles cellules j'ai ça et je voudrais avoir ça'
ou bien 'je désire afficher les lignes qui répondent à tel et tel critère'

eric
0
lamarmotte613 Messages postés 6 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 27 février 2008
23 févr. 2008 à 14:21
je te joins le liens
encore une fois merci


http://www.cijoint.fr/cjlink.php?file=cj200802/cij6362129815337.xls
0

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

Posez votre question
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
23 févr. 2008 à 16:46
Je suppose que sur une même ligne ça sera tjs le même code.
Tu peux saisir en N4 :
=SI(B4<>"";B4;SI(D4<>"";D4;SI(F4<>"";F4;SI(H4<>"";H4;SI(J4<>"";J4;SI(L4<>"";L4;""))))))
et recopier vers le bas.
Ca te ramene la 1ère chaine (ou valeur) non vide rencontrée sur ces cellules.
Par contre n'ajoute plus de colonne, tu atteinds presque la limite de SI imbriqués dans excel 2003 qui est de 7.

eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
24 févr. 2008 à 17:58
bonjour

Peux-tu expliquer le stp?

Tu avais déjà noté le 9^9 il me semble ?

En fait, le "z^z" et l'équivalent en texte du 9^9 pour le numérique :
Ces codes permettent de rechercher la dernière valeur numérique ou texte de la plage concernée.

Ceux qui mettent le solde en bas de colonne par exemple peuvent ainsi le reporter facilement sur la période suivante.

Je n'ai pas trouvé cette fonction dans l'aide excel car elle n'est peut-être pas documentée...
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
25 févr. 2008 à 22:50
Bonsoir gb,

Le 9^9 je l'avais interprété comme un grand nombre 9 puissance 9 qui serait supérieur à tous ceux qu'on pourrait trouver sur la plage.
Le z^z me trouble plus, à la base pour moi c'est une chaine commer une autre, je ne vois pas le rôle de ^ (joker ?).
De plus equiv() réagit bizarrement, il retourne #NA si une cellule contient une chaine supérieure comme za alors qu'il devrait retourner la plus grande valeur inférieure ou égale soit tjs PLA...
Bref, pas clair tout ça

eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023
26 févr. 2008 à 00:08
bonjour

De plus equiv() réagit bizarrement, il retourne #NA si une cellule contient une chaine supérieure comme za alors qu'il devrait retourner la plus grande valeur inférieure ou égale soit tjs PLA...

EQUIV ne retourne pas la plus grande valeur inférieure , il retourne la position de la dernière cellule texte

Si dans la plage tu mets "zyz" puis "abc" tu obtiens la position de '"abc", la valeur de la cellule n'est pas prise en compte, c'est son type qui est utilisé.

Cela équivaut au cells(65536,1).end(xlup).row avec en plus le test du type de valeur et je n'ai jamais eu de problème avec cette "fonction" : tu as #NA, si tu cherches du texte dans une plage montants.
Cela fonctionne aussi d'ailleurs avec ta préférée recherchev : =RECHERCHEV("z^z";E5:E22;1;1) mais l'utilité doit être limitée ?
0
lamarmotte613 Messages postés 6 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 27 février 2008
24 févr. 2008 à 19:56
Bonsoir,

merci mille fois à tous les deux pour ces réponses, la formule de gbinforme marche à merveille

à bientôt sur le forum

lamarmotte613
0