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

  1. #1
    Futur Membre du Club
    INDEX & EQUIV qui ne fonctionne pas à chaque fois
    Bonjour à tous,

    J'espère pouvoir trouver de l'aide par ici car je vous avoue que je sèche.

    Je travaille sur un plan de charge qui se met à jour tous les jours à l'aide de nouvelles infos du jour et des infos de la veille.

    Pour récupérer mes informations de la veille qui sont sur une autre feuille j'effectue une recherche INDEX&EQUIV.

    Hors je m'aperçois que ma recherche ne s'effectue par correctement pout toutes mes cellules, des fois il ne me trouve rien et quand il ne me trouve rien il est censé m'envoyer "A traiter", hors là la cellule est vide.

    Pour solutionner la recherche qui ne s'est pas bien effectué je suis obligé d'aller sur la cellule de l'information à trouver, cliquer dans la Barre de formule et faire entrée pour mettre à jour ma recherche INDEX&EQUIV afin qu'il se rende compte que la cellule est vide et qu'il me sorte "A traiter".

    Pour information cela ne se produit que quand le contenue de ma cellule à trouver est vide et deuxième info sur ma cellule a trouver il y a une liste déroulante pour sélectionner la bonne valeur (le contenue vide fait partie de la liste déroulante).

    Ma question est : Est-ce déjà arrivé à quelqu'un ? Si oui comment l'avez-vous solutionné ?
    Sinon existe-t-il une fonctionne VBA pour sélectionner toutes les cellules de ma feuille plan de charge de la veille (feuille des infos à récupérer), pour mettre à jour le contenue (comme je fais manuellement càd, sélectionner la cellule, sélectionner la barre de formule et faire entrée).

    Merci d'avance pour vos réponses.

    Cordialement,

    Tristan

    EDIT : J'ai oublié de préciser que le format de mes deux cellules est le même (standard), et qu'il n'y a pas d'espace caché dans ma cellule de l'info à récupérer

  2. #2
    Expert éminent sénior
    Citation Envoyé par TristanLcr Voir le message
    Pour récupérer mes informations de la veille qui sont sur une autre feuille j'effectue une recherche INDEX&EQUIV.

    Hors je m'aperçois que ma recherche ne s'effectue par correctement pout toutes mes cellules, des fois il ne me trouve rien et quand il ne me trouve rien il est censé m'envoyer "A traiter", hors là la cellule est vide.
    Serait-il possible de voir cette formule ?

    Pour solutionner la recherche qui ne s'est pas bien effectué je suis obligé d'aller sur la cellule de l'information à trouver, cliquer dans la Barre de formule et faire entrée pour mettre à jour ma recherche INDEX&EQUIV afin qu'il se rende compte que la cellule est vide et qu'il me sorte "A traiter".
    N'aurais-tu pas mis le recalcul en manuel ? (Ruban Formules > Options de calcul)
    As-tu essayé de cliquer simplement sur l'icône "Calculer maintenant" (ou la touche F9) ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Bonjour Menhir,

    Serait-il possible de voir cette formule ?
    J'utilise la formule suivante :
    =SI(OU(ESTERREUR(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2));INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)="");(RECHERCHEV($A19;Feuil1!$A$2:$AF$2001;32;FAUX));(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)))

    qui est réparti comme ceci :
    =ESTERREUR(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2): càd si il ne trouve pas d'info pour cette commande sur le plan de charge précédent

    OU

    =ESTVIDE(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)) : si il trouve une info sur le plan de charge précédent mais que celle-ci est vide. C'est cette fonction qui pose problème.

    ALORS

    =RECHERCHEV($A19;Feuil1!$A$2:$AF$2001;32;FAUX) : On recherche sur les infos, sur les infos du jour si on a une commande qui correspond

    SINON

    =INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)): on recherche les infos sur le plan de charge précédent.

    Pour information, mon problème disparait lorsque que je remplace ma fonction =ESTVIDE(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)) par =INDEX(PlanDeChargePrecedent!C:C;EQUIV($A19;PlanDeChargePrecedent!$A:$A;0)+2)="", hors maintenant lorsque je n'ai pas d'info correspondante à mon INDEX&EQUIV sur le plan de charge précédent, il me renvoie #N/A.
    En analysant les étapes de calculs ma fonction OU n'est pas efficace, car je trouve bien VRAI pour mon SIERREUR (ne trouve pas d'info sur le plan de charge précédent donc erreur), mais avec le INDEX&EQUIV="" au lieu de ESTVIDE(INDEX&EQUIV) il me renvoie #N/A et donc toute ma formule me renvoie #N/A.

    J'espère avoir été clair sur mon problème, j'hésite à vous mettre mon fichier en PJ, car c'est assez compliqué (fait des références à droite à gauche sur tout plein de feuille).

    N'aurais-tu pas mis le recalcul en manuel ? (Ruban Formules > Options de calcul)
    As-tu essayé de cliquer simplement sur l'icône "Calculer maintenant" (ou la touche F9) ?
    Je viens à l'instant de vérifier je suis bien en automatique, et quand je clique sur l'icône "Calculer maintenant" rien ne change, je suis obligé de cliquer dans la Barre de formule puis entrée.

    Merci pour tes réponses en tout cas.

  4. #4
    Futur Membre du Club
    Petit update, j'ai réussi à contourner mon problème.

    Vu que ma fonction OU ne servait à rien lorsque mon SIERREUR était vrai je l'ai supprimé.

    Voici ma nouvelle formule:
    =SI(ESTNA(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A10;PlanDeChargePrecedent!$A:$A;0)+2));(RECHERCHEV($A10;Feuil1!$A$2:$AF$2001;32;FAUX));SI(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A10;PlanDeChargePrecedent!$A:$A;0)+2)="";(RECHERCHEV($A10;Feuil1!$A$2:$AF$2001;32;FAUX));(INDEX(PlanDeChargePrecedent!C:C;EQUIV($A10;PlanDeChargePrecedent!$A:$A;0)+2))))

    Celle-ci utilise bien le INDEX&EQUIV="" qui fonctionne au lieu de ESTVIDE(INDEX&EQUIV) qui posait problème.

    Je ferme donc le poste.

    Merci à Menhir pour son aide.

    Bonne journée,

    Tristan

  5. #5
    Membre éclairé
    Bonjour

    C'était "normal" car la fonction ESTVIDE teste une cellule. Or vous mettiez un INDEX à l'intérieur des parenthèses du ESTVIDE. Donc vous renvoyez forcément une valeur alors qu'Excel attend une référence de cellule.
    Du moins c'est ce que je pense.

    Bonne journée

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Futur Membre du Club
    Merci Pierre pour votre réponse ,

    Mais du coup si votre hypothèse est vraie, pourquoi le fait de sélectionner la cellule, revalider la barre de formule de la cellule visée alors qu'elle est vide, permettait de résoudre le problème?

    Bonne journée !