A voir également:
- Excel:comparer une colonne a plusieurs autres
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
6 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 27/03/2012 à 16:55
Modifié par eriiic le 27/03/2012 à 16:55
Bonjour,
une proposition par formule
Avec un dictionnaire (limité pour l'exemple) en J2:N5, mettre en E2 :
=INDEX($N$1:$N$5;MAX((((A2=$J$2:$J$5)+($J$2:$J$5=""))*((B2=$K$2:$K$5)+($K$2:$K$5=""))*((C2=$L$2:$L$5)+($L$2:$L$5=""))*((D2=$M$2:$M$5)+($M$2:$M$5=""))>0)*LIGNE($2:$5)))
formule matricielle à valider avec shift+ctrl+entrée
à recopier vers le bas.
Pour un dictionnaire plus grand remplacer tous les $5 par $'n° de la dernière ligne du dict.'
fichier exemple
eric
une proposition par formule
Avec un dictionnaire (limité pour l'exemple) en J2:N5, mettre en E2 :
=INDEX($N$1:$N$5;MAX((((A2=$J$2:$J$5)+($J$2:$J$5=""))*((B2=$K$2:$K$5)+($K$2:$K$5=""))*((C2=$L$2:$L$5)+($L$2:$L$5=""))*((D2=$M$2:$M$5)+($M$2:$M$5=""))>0)*LIGNE($2:$5)))
formule matricielle à valider avec shift+ctrl+entrée
à recopier vers le bas.
Pour un dictionnaire plus grand remplacer tous les $5 par $'n° de la dernière ligne du dict.'
fichier exemple
eric
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 27/03/2012 à 10:06
Modifié par Vaucluse le 27/03/2012 à 10:06
Bonjour
pas
tout compris....!
à tout hasard:
pour concaténer l'édition
=SI(A1=1;1;0)&SI(B1=1;1;0)&SI(C1=1;1;0)&SI(D1=1;1;0)
qui vous renvoie 0000 si toutes les cellules sont vides.
et entrez vos codes de dictionnaires avec une apostrophe en tête de façon à ce qu'ils soient pris comme du texte:
='0000 affiche bien 0000, l'apostrophe n'apparaît que dans la barre de formule.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
pas
tout compris....!
à tout hasard:
pour concaténer l'édition
=SI(A1=1;1;0)&SI(B1=1;1;0)&SI(C1=1;1;0)&SI(D1=1;1;0)
qui vous renvoie 0000 si toutes les cellules sont vides.
et entrez vos codes de dictionnaires avec une apostrophe en tête de façon à ce qu'ils soient pris comme du texte:
='0000 affiche bien 0000, l'apostrophe n'apparaît que dans la barre de formule.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Submin
Messages postés
382
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
1 avril 2016
226
27 mars 2012 à 10:11
27 mars 2012 à 10:11
Je pense que tu va être obligé de passer par VBA. Par ailleur, je n'ai pas le temps ce matin de prendre 30 minutes pour t'aider a réaliser ce code.
Je repasserai donc plus tard dans la journée pour t'aider si personne ne l'a fait avant.
Si tu t'y connais en VBA, tu devrai y arrivé facilement.
Te as une boucle for qui va scruter tes 50 cellule 1 à 1.
Tu recherche ensuite si ton code contient un x, si non tu recherche directement la valleur exact mais si oui ...... (c'est la que le code devient difficile)
L'idée est la maintenant reste a faire le code...
Ce sont toujours des code de 4bits? pour alors cela dépend?
Je repasserai donc plus tard dans la journée pour t'aider si personne ne l'a fait avant.
Si tu t'y connais en VBA, tu devrai y arrivé facilement.
Te as une boucle for qui va scruter tes 50 cellule 1 à 1.
Tu recherche ensuite si ton code contient un x, si non tu recherche directement la valleur exact mais si oui ...... (c'est la que le code devient difficile)
L'idée est la maintenant reste a faire le code...
Ce sont toujours des code de 4bits? pour alors cela dépend?
pépé35530
Messages postés
2942
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 386
27 mars 2012 à 11:12
27 mars 2012 à 11:12
Bonjour,
Peut-on simplement modifier le dictionnaire afin de faire apparaître les codes qui correspondent à la même information ?
A+
pépé
Peut-on simplement modifier le dictionnaire afin de faire apparaître les codes qui correspondent à la même information ?
A+
pépé
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci Submin, je pense également que je vais devoir passer par VBA, mais il me faudra optimiser au maximum le code pour ne pas perdre trop de temps, car les codes font en fait 50 bits, longueur fixe, et dictionnaire me donne 60 étapes.
Mon problème de numéro manquant est expliqué par l'exemple suivant:
"arrêt" est 0011 et "marche" est 1111
Lors du passage à l'étape "nettoyage", la deuxième position va devenir un 1 et la troisième un 0, matérialisé dans le dictionnaire par x10x.
Si avant cela on était en arrêt, on aura alors 0101, et si on était en marche on aura 1101
Mon problème de numéro manquant est expliqué par l'exemple suivant:
"arrêt" est 0011 et "marche" est 1111
Lors du passage à l'étape "nettoyage", la deuxième position va devenir un 1 et la troisième un 0, matérialisé dans le dictionnaire par x10x.
Si avant cela on était en arrêt, on aura alors 0101, et si on était en marche on aura 1101
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
27 mars 2012 à 16:32
27 mars 2012 à 16:32
je sais déjà concaténer mes cellules, mais je pense que ça en m'aidera pas. Je suis en train de voir pour créer une fonction avec VBA dans laquelle je passe comme paramètre mon dictionnaire et mon code. Pour chaque colonne, je compare mon bit de code à celui du dictionnaire. Si celui du dico est non-vide et différent du bit de code, "supprimez" cette ligne là pour ne plus l'étudier lors du passage à la colonne suivante, puis passer à la colonne suivante. Quand j'arrive à la dernière colonne, toutes les lignes du dictionnaires incompatible avec le code ont été supprimées, il ne reste que celle(s) qui concordent.
Ca c'est le principe...après pour le réaliser... j'y travaille...
Ca c'est le principe...après pour le réaliser... j'y travaille...
28 mars 2012 à 08:39