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 :

Fonction "SI" combinée avec "TROUVE" ne fonctionne pas sur toutes les cellules [XL-2013]


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Services de proximité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Fonction "SI" combinée avec "TROUVE" ne fonctionne pas sur toutes les cellules
    Bonjour,

    J'ai un fichier Excel qui contient 2 onglets.
    Les numéros de l'onglet 2 sont automatiquement dans l'onglet 1, mais pas l'inverse.
    Je voudrais voir apparaître simplement les numéros de l'onglet 1 qui sont dans l'onglet 2.
    Onglet 1 : Valeurs dans cellules B1 à B40
    Onglet 2 : Valeurs dans cellules A1 à A20

    J'ai tout d'abord essayé un mise en forme conditionnelle combinée avec les fonctions si et trouve mais ça n'a marché que sur la première cellule.
    J'ai donc opté pour une autre solution, j'ai créé une autre colonne dans mon onglet 1 (la colonne C) dans laquelle je demande à Excel de me mettre 0 ou 1 s'il trouve la valeur dans l'onglet 2. Ca marche cette fois sur les 2 premières cellules... youhou!

    La fonction que j'ai écrite est la suivante : C1=SI(TROUVE($A1;'onglet 2'!$B$1:$B$40);1;0)

    Cette formule fonctionne pour les deux premières cellules mais plus pour les autres, il me met #VALEUR.
    J'ai passé toutes mes données en format nombre.

    Je ne comprends pas le bug, pourriez vous m'aider SVP...

  2. #2
    Membre habitué Avatar de Youni92
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 178
    Points : 182
    Points
    182
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV($A1;'onglet 2'!$B$1:$B$40;1;FAUX)
    Ton code "marche" seulement si les numéros ont la même ligne dans chaque onglet.
    Pour comparer 2 tableaux, "recherchev" est une des solutions les plus puissantes et rapides.
    When you have eliminated the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

  3. #3
    Candidat au Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Services de proximité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta formule, je l'ai essayée, ça me donne bien les numéros communs aux 2 colonnes mais ça ne me met pas "1" ou "0" mais "le nombre" ou "#N/A".
    Comment pourrais je faire pour faire apparaitre 1 ou 0 ?
    J'ai tenté de combiner avec une fonction SI mais ça n'a pas marché...

    Merci d'avance

  4. #4
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Essayer en C1 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = MIN(1;SOMMEPROD(1*('onglet 2'!$B$1:$B$40=$A1))
    et recopier vers le bas
    COrdialement
    Claude

  5. #5
    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 DDA44 Voir le message
    C1=SI(TROUVE($A1;'onglet 2'!$B$1:$B$40);1;0)
    TROUVE ne sert par à chercher une valeur dans un ensemble de cellules mais à trouver une chaine de caractère dans UNE autre chaine.
    Pour ton problème, c'est plutôt RECHERCHE ou RECHERCHEV qu'il faut utiliser.

    Citation Envoyé par DDA44 Voir le message
    Comment pourrais je faire pour faire apparaitre 1 ou 0 ?
    Je complète la formule de Youni :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(RECHERCHEV($A1;'onglet 2'!$B$1:$B$40;1;FAUX));0;1)
    J'ai tenté de combiner avec une fonction SI mais ça n'a pas marché...
    Si tu avais donné plus de précision sur ce que tu as essayé, il aurait été possible de t'indiquer ton erreur.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Candidat au Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Services de proximité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci, ça marche impeccable.
    Tant que je suis face à des experts j'en profite... Y'a pas de hotline pour excel...

    Mon premier souhait pour résoudre ce problème était de colorer directement les chiffres communs aux 2 listes. N'ayant pas trouvé la bonne formule à mettre dans la mise en forme conditionnelle j'ai utilisé une méthode plus simple.
    Pourriez vous m'indiquer quelle formule rentrer dans la mise en forme conditionnelle pour que mes chiffres se colorent directement?

    Merci d'avance et bonne journée

  7. #7
    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
    C'est à peu près la même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(RECHERCHEV($A1;'onglet 2'!$B$1:$B$40;1;FAUX));FAUX;VRAI)
    L'astuce, c'est de bien mettre les $ à leur place, surtout ceux qui sont devant les numéro de ligne.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Candidat au Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Services de proximité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est magique.
    Je ne comprends pas trop la syntaxe, je ne sais pas si je saurais le refaire, mais ca marche.

    Merci beaucoup à tous et bonne fin de journée

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

Discussions similaires

  1. fonction confirm() qui ne fonctionne pas sur IE7
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2008, 09h47
  2. Réponses: 3
    Dernier message: 05/12/2007, 14h27
  3. Réponses: 6
    Dernier message: 04/09/2007, 00h11
  4. Réponses: 3
    Dernier message: 14/03/2007, 17h31
  5. Fonction DISTINCT ne fonctionne pas sur une date
    Par cramouille dans le forum Access
    Réponses: 5
    Dernier message: 25/10/2006, 15h42

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