IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

EQUIV + ADRESS simplification de formule [XL-2010]


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Points : 79
    Points
    79
    Par défaut EQUIV + ADRESS simplification de formule
    Bonjour,

    J'ai un tableau ou qui possède plusieurs colonne :

    Par exemple :
    - Colonne I : des valeur que je vais cherche avec EQUIV +INDEX
    - Colonne J, K, L, des valeur que je ne cherche pas avec EQUIV+ INDEX
    - Colonne M des valeur que je vais chercher avec AQUIV + INDEX

    on répète ce procéder 15 fois et ca me fais une formule a rallonge du type :

    =SIERREUR(SI(SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$K$3:$K$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$K$3:$K$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$N$3:$N$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$N$3:$N$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$Q$3:$Q$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$Q$3:$Q$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$T$3:$T$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$T$3:$T$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$W$3:$W$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$W$3:$W$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$Z$3:$Z$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$Z$3:$Z$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AC$3:$AC$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AC$3:$AC$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AF$3:$AF$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AF$3:$AF$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AI$3:$AI$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AI$3:$AI$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AL$3:$AL$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AL$3:$AL$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AO$3:$AO$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AO$3:$AO$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AR$3:$AR$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AR$3:$AR$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AU$3:$AU$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AU$3:$AU$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$AX$3:$AX$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$AX$3:$AX$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BA$3:$BA$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BA$3:$BA$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BD$3:$BD$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BD$3:$BD$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BG$3:$BG$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BG$3:$BG$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BJ$3:$BJ$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BJ$3:$BJ$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BM$3:$BM$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BM$3:$BM$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BP$3:$BP$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BP$3:$BP$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BS$3:$BS$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BS$3:$BS$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BV$3:$BV$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BV$3:$BV$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$BY$3:$BY$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$BY$3:$BY$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$CB$3:$CB$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$CB$3:$CB$144;0))+SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$CE$3:$CE$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$CE$3:$CE$144;0)) <>0;"OK";"NOK");"NOK")
    Voici la parti que je répète X fois pour toute les colonne :
    SI(ESTERREUR(EQUIV(LIGNE($A7);'ST 10 513'!$K$3:$K$144;0));0;EQUIV(LIGNE($A7);'ST 10 513'!$K$3:$K$144;0))
    Comment simplifier cette formule ?

    Sachant que je cherche des numéro allant de 1 à 922 dans une plage de donné qui correspond à un tableau entier.

    J'ai bien essayer de NB.SI() cependant cela se base sur la valeur de la case qui est une formule et non le résultat de la formule ...
    Je voudrais évité les formule a rallonge afin de simplifier la compréhension du fichier pour les personne qui reprendrons mon travail.
    Avez vous des Solutions ?
    Je reste disponible pour d'autre question.

    Pour illustrer un peux mieux mon propos retrouver l'image suivante.
    Dans l'image on cherche sur tout le tableau des valeur du type comme 215, 513 etc.
    cependant dans tout ce tableau, toute les cases sont des formule.
    Nom : Capture.JPG
Affichages : 127
Taille : 316,8 Ko

    N'hésitez pas à me proposer des solutions ou même des pistes merci.
    cordialement,
    Passepartout007

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Passepartout007 Voir le message
    Voici la parti que je répète X fois pour toute les colonne :
    Comment simplifier cette formule ?
    En passant par du VBA.
    Quand une formule devient monstrueuse à ce point, mieux vaut passer par VBA qui permet de faire des boucles plus propres.

    cela se base sur la valeur de la case qui est une formule et non le résultat de la formule ...
    Quelle différence fais-tu entre la valeur d'une cellule et le résultat de la formule qu'elle contient ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Points : 79
    Points
    79
    Par défaut Re:
    Citation Envoyé par Menhir Voir le message
    En passant par du VBA.
    Quand une formule devient monstrueuse à ce point, mieux vaut passer par VBA qui permet de faire des boucles plus propres.
    Je sais bien en VBA c'est tellement plus simple ... Cependant mon responsable m'impose des formule car il considère qu'il est plus simple à maintenir que des macro .. C'est pour cela que je m'efforce de trouver une solution autre que VBA


    Citation Envoyé par Menhir Voir le message
    Quelle différence fais-tu entre la valeur d'une cellule et le résultat de la formule qu'elle contient ?
    Dans mon tableau de l'image les cellule affiche des chiffres exemple : 72
    sauf que 257 est en faite une formule du genre
    =SI(NB.SI($I72:$CE72;"NOK")=0;SI(NB.SI($I72:$CE72;"OK")=0;"OUT";"OK");"NOK")
    donc quand je recherche avec le NB.SI() la valeur 72 sur toute la plage de données il me trouve plein de case qui corresponde au 72 qui sont dans la formule ...
    il se base donc sur le texte de la formule et non le résultat de la formule .. Je sais pas si j'ai bien été claire ..

    Est-t 'il possible d'imposer à une formule de se baser sur le résultat d'une formule et non la formule elle même ?

    Cordialement,
    Passepartout007

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Passepartout007 Voir le message
    Dans mon tableau de l'image les cellule affiche des chiffres exemple : 72
    sauf que 257 est en faite une formule du genre
    =SI(NB.SI($I72:$CE72;"NOK")=0;SI(NB.SI($I72:$CE72;"OK")=0;"OUT";"OK");"NOK")
    donc quand je recherche avec le NB.SI() la valeur 72 sur toute la plage de données il me trouve plein de case qui corresponde au 72 qui sont dans la formule ...
    il se base donc sur le texte de la formule et non le résultat de la formule .. Je sais pas si j'ai bien été claire ..
    Je ne sais pas comment tu as écrit ton NB.SI, mais je viens de faire le test en mettant dans des cellules ta formule, 72, 172, '172 et j'ai testé les formules =NB.SI(A$2:A$10;"72") et =NB.SI(A$2:A$10;72) qui, toutes les deux, renvoient 1 (ce qui semble logique).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Points : 79
    Points
    79
    Par défaut Re : solutionné
    Menhir,
    je te remercie de ta remarque j'ai approfondi et me suis poser la question pourquoi le NB.SI() ne fonctionnais pas pour moi. et effectivement j'ai réussi a résoudre le problème.
    Ce qui posais problème c'est que dans la partie valeur chercher je mettait une opération du genre "A87+1" et cette fonction réagi mal a ce type d'opération.
    Je met le sujet comme résolu encore merci.
    Passepartout007

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] simplification de formule
    Par biboulou dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/02/2012, 21h04
  2. [XL-2003] aide simplification de formule
    Par redstoff dans le forum Excel
    Réponses: 1
    Dernier message: 29/10/2010, 16h43
  3. Valeur d'une adresse obtenue par formule
    Par ouskel'n'or dans le forum Excel
    Réponses: 4
    Dernier message: 24/12/2007, 06h27
  4. adresse tronquée dans formule (ie pas de référence à la feuille)
    Par lerouxjm dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/12/2007, 09h47
  5. Simplification de formule
    Par S l i d e dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 05/11/2007, 21h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo