Pb chaine de caracteres dasn EXcel
Résolu
lamarmotte613
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Pb chaine de caracteres dasn EXcel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
7 réponses
bonjour
Pour ne pas être bloqué par les "SI" tu peux aussi utiliser les fonctions DECALER avec EQUIV
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
ce qui te permet de rajouter toutes les colonnes désirées sans modification.
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.
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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...
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...
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
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
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 ?
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 ?
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