Grosse boucle SI()

Résolu
Bonjour,

Une nouvelle fois je fais appel à vos connaissances sur Excel.
Je dois comparer un grand nombre de cellules entre elles et si deux cellules correspondent alors je dois affecter sa valeur sur une autre cellule : https://www.cjoint.com/c/JDEoajlUmg6

Pour cela j'ai débuté avec une grosse boucle SI(A1=C1;D1;SI(A1=C2;D2;SI(

Mais ça prend un temps colossal à mettre en place (j'ai plus de 10000 comparaisons à faire) et j'ai peur de faire brûler mon PC avec des boucles SI trop grosses.

Donc ma question c'est existe t-il un moyen de simplifier cela ?

Cordialement,
NR.

3 réponses

  1. Bonjour,

    S'il n'y a qu'un seul résultat par donnée dans le tableau de recherche, une simple RECHERCHEV est nécessaire

    Dans le tableau exemple envoyé, en C4 cette formule à incrémenter

    =SI(B4="";"";SIERREUR(RECHERCHEV(B4;$Q$7:$R$13;2;0);""))

    Cordialement
    2
    1. Super, j'ai pu l'appliquer à mes tableaux. Je vous remercie !

      J'ai regardé RechercheV sur google pour me renseigner mais je ne comprends pas votre formule, j'ai seulement réussi à l'appliquer parce que vous m'avez aidé.

      Pensez-vous que vous pourriez m'expliquer comment fonctionne cette formule svp ?

      Je ne comprends pas :
      - le début de la formule SI(B4="";"") ==> pourquoi ne pas avoir directement fait le SIERREUR?
      - la fin de rechercheV (...;2;0) ==> je ne vois pas à quoi cela correspond
      - le dernier ;"") ==> pareil je ne vois pas à quoi ça correspond

      Voilà je sais que j'en demande beaucoup mais si vous pouviez juste détailler cela, ça m'aiderait beaucoup à progresser sur Excel.

      Je vous remercie encore !
      0
    2. @NirifAlors SI(B4="";"" pour indiquer à excel que la cellule doit être renseignée sinon la cellule résultat doit restée vide.

      RECHERCHEV(....;2;0) le 2 est pour indiquer qu'il faut chercher la donnée à inscrire dans la 2ème colonne du tableau de recherche ; le 0 (ou FAUX) c'est qu'on demande une correspondance exacte.

      le dernier ;"") c'est pour compléter le SIERREUR()

      https://support.microsoft.com/fr-fr/office/recherchev-recherchev-fonction-0bbc8083-26fe-4963-8ab8-93a18ad188a1?ui=fr-fr&rs=fr-fr&ad=fr

      https://support.microsoft.com/fr-fr/office/sierreur-sierreur-fonction-c526fd07-caeb-47b8-8bb6-63f3e417f611?ui=fr-fr&rs=fr-fr&ad=fr

      Cordialement
      0
    3. @PapyLuc51Merci beaucoup.

      Bonne journée à vous.
      0
    4. Contributeur
      Salut Papy
      je viens juste de rallumer l'ordi car je me suis apercu qu'avec un simple rechercheV c'était Ok !!!!
      pas besoin de mon usine à gaz !!!

      je te rajoute un autre +1
      0
    5. @michel_mSalutations michel_m et merci

      Je me demande bien pourquoi on ne peut plus voir comme avant le nombre des mercis reçus dans une discussion, uniquement ceux des autres. On ne peut voir que le total à coté de son pseudo.

      Coridalement
      0
  2. Contributeur
    bonjour,

    pas de problème avec du VBA remplissage en moins d'une seconde , ca te tente ?
    si oui, j’essaierais demain
    merci alors de mettre un classeur beaucoup complet et reflétant le réalité.

    1
    1. Bonjour,

      Je vous remercie mais le rechercheV semble fonctionner. Cela ne sera donc pas nécessaire.

      Cordialement,
      NR.
      0
  3. Hello,

    Je vois un problème sur ta formule initiale dans la feuille de test que tu nous as fournie.

    Si B4=Q7 alors afficher R7. Sauf que... Dans don cas, B4=A et Q7=G. Donc, y'a déjà un souci... Dans ce cadre précis de conditionnelles multiples il vaut mieux faire un balayage.

    Houla, mal à la tête, Raymond, je te passe la main :-)
    0