Rechercher : dans
Par :

Pb chaine de caracteres dasn EXcel

Dernière réponse le 26 fév 2008 à 00:08:04 lamarmotte613, le 23 fév 2008 à 10:27:29 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « pb chaine de caracteres dasn EXcel » dans :
[CCM] Utiliser des caractères spéciaux VoirVous pouvez utiliser des caractères spéciaux dans vos messages sur les forums de CCM. Vous pouvez: Soit utiliser la table de caractères Windows (charmap.exe) et copier-coller les caractères dans le message. Soit utiliser les entités...
VB6/VBA Transformer nombre en texte VoirIntroduction Préliminaires VB6 Dans le module de la forme Dans Module1 Introduction La fonction peut transformer des nombres de l'unité jusqu'à 999 tera. Prend en compte la syntaxe pour le français de France, de Belgique et de...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

eriiic, le 23 fév 2008 à 10:36:06

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

Répondre à eriiic

2

lamarmotte613, le 23 fév 2008 à 12:16:02

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

Répondre à lamarmotte613

3

eriiic, le 23 fév 2008 à 12:31:11

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

Répondre à eriiic

4

lamarmotte613, le 23 fév 2008 à 14:21:10
Répondre à lamarmotte613

5

eriiic, le 23 fév 2008 à 16:46:35

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

Répondre à eriiic

6

gbinforme, le 24 fév 2008 à 09:48:09
  • +1

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.
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)

Répondre à gbinforme

7

eriiic, le 24 fév 2008 à 11:53:25

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

Répondre à eriiic

8

gbinforme, le 24 fév 2008 à 17:58:47

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...
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)

Répondre à gbinforme

10

eriiic, le 25 fév 2008 à 22:50:18

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

Répondre à eriiic

11

 gbinforme, le 26 fév 2008 à 00:08:04

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 ?
Toujours zen

Répondre à gbinforme

9

lamarmotte613, le 24 fév 2008 à 19:56:01

Bonsoir,

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

à bientôt sur le forum

lamarmotte613

Répondre à lamarmotte613
Collection CommentÇaMarche.net