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 :

Lier une deuxième cellule à une première qui contient une case à cocher (contrôles formulaire)


Sujet :

Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut Lier une deuxième cellule à une première qui contient une case à cocher (contrôles formulaire)
    Bonjour à tous,
    Avec une fonction, je souhaiterai retrouver dans la cellule d’un deuxième classeur, le contenu d’une cellule du premier classeur.
    Problème : Cette cellule d’origine contient une case à cocher (contrôles de formulaire), qui ne déclenche aucune action (simple case à cocher).
    Avec la fonction « =La cellule du premier classeur », on ne retrouve que « VRAI » ou « FAUX » dans la cellule du deuxième classeur.
    Comment faire pour retrouver la case à cocher d’origine, qui peut bien évidemment être cochée ou pas.
    D’avance, merci beaucoup.
    bolide7

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Je ne comprends pas ta question :

    Comment faire pour retrouver la case à cocher d’origine, qui peut bien évidemment être cochée ou pas.
    Si la case est cochée, tu obtiens VRAI et FAUX dans le cas contraire, à condition que la cellule liée soit la cellule où se trouve la case à cocher.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour Daniel.C,
    Je souhaiterai que la totalité des cellules d'une feuille d'un premier classeur se recopie automatiquement dans une feuille d'un deuxième classeur.
    Dans les cellules du deuxième classeur, la fonction "=Cellule de la première feuille" convient très bien.
    Par contre, pour les cellules avec une case à cocher à l'intétrieur, elle recopie le "VRAI" ou le "FAUX", alors que je souhaiterai retrouver dans la cellule du deuxième classeur la case à cocher cochée ou non.
    J'espère avoir été plus clair.
    Bon après-midi.
    bolide7

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sauf si tu utilises du VBA, il n'est pas possible à l'aide d'une fonction Excel de faire ce que tu souhaites.
    La case à cocher est un contrôle formulaire ou ActiveX et n'est pas la propriété d'une cellule.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Je veux bien que ce soit dimanche, mais si tu n'as pas utilisé la cellule comme cellule liée d'un contrôle, si tu vois la valeur dans la cellule source, il n'y a aucune raison pour que tu ne récupères pas la valeur de la cellule. Regarde les images jointes.
    Nom : Résultat.JPG
Affichages : 1401
Taille : 11,9 Ko
    Nom : Source.JPG
Affichages : 1557
Taille : 12,4 Ko

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir Philippe et Daniel,
    Merci beaucoup pour vos réponses respectives.
    Philippe : J'ai bien noté que cela n'est possible qu'en VBA.
    Daniel : Ce qui m'intéresse ce n'est pas le contenu de la cellule ("toto" dans ton exemple), mais la case à cocher proprement dit.
    A tout hasard, une idée dominicale : Si je place une case à cocher dans la cellule du deuxième fichier, peut-on demander à EXCEL de cocher ou pas cette case avec le "VRAI" ou le "FAUX" récupéré dans la cellule d'origine ?
    Autrement dit, faire le contraire de d'habitude :
    - Habituellement : On coche pour déclencher "VRAI".
    - Contraire : Récupérer le "VRAI" ou le "FAUX" dans le premier fichier afin de cocher la case dans le deuxième fichier.
    Bien évidemment, ce n'est qu'une idée, mais qui sait !
    Bonne soirée.
    bolide7

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Fais un clic droit sur la case à cocher et choisis "Format de contrôle". Dans l'onglet "Contrôle, indique dans "celllule liée" l'adresse de la cellule dans laquelle se trouve la case à cocher. Si la case à cocher est en H1, indique H1 pour la cellule liée.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour Daniel.C,
    Merci pour ton aide.
    J’ai testé ta méthode.
    Si dans « Cellule liée » dans « Format de contrôle » de la case à cocher du deuxième classeur, je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '[Premier classeur.xlsx]Feuille 1'!$A$1
    Cela fonctionne bien.
    Mais hélas, c’est un peu plus compliqué, puisque en réalité je souhaite lier la cellule du deuxième classeur à la cellule A1 de la feuille intitulée M1 du premier classeur.
    Dans cette situation, la formule suivante ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDIRECT("'[Premier claseur.xlsx]"&$M$1&"'!$A$1")
    Le « Format de contrôle » accepte la formule, mais lorsque je retourne dans « Format de contrôle » la formule a disparu.
    Bonne soirée.
    bolide7

  9. #9
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ou je suis à côté de la plaque ou tu compliques les choses :

    - le Classeur 2 contient le checkbox dans une cellule quelconque.
    - tu codes la cellule liée de ce checkbox dans une cellule quelconque sur la même feuille (ou sur une autre, mais faisons simple). Disons la cellule IV1 sur la même feuille.
    - Dans Classeur 2, tu pointes sur cette cellule liée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Classeur 2]Feuil1!$IV$1

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir Daniel.C,

    Je vais reprendre pas à pas pour détailler précisément la situation.

    Dans le premier fichier, j’ai des fiches clients.
    Elles sont toutes construites sur le même modèle.
    Le code client est en cellule M1.
    Dans les cellules M10 à M33, j’ai des cases à cocher.
    Chaque case à cocher est liée à la cellule qui contient la case à cocher.

    Dans le deuxième fichier, j’ai une feuille qui reprend une fiche client.
    Je souhaiterai que lorsque j’indique un code client dans la cellule M1 de cette feuille du deuxième fichier, EXCEL 2013 aille rechercher les informations notifiées sur la fiche de ce client dans le premier fichier.

    Par exemple, dans la cellule D10 du deuxième fichier, j’ai la formule suivante, qui marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(INDIRECT("'[Premier classeur.xlsx]"&$M$1&"'!$D$10")=0;"";INDIRECT("'[Premier classeur.xlsx]"&$M$1&"'!$D$10"))
    Comme tu l’as compris, ce sont les cellules avec une case à cocher à l'intérieur, qui posent problème.

    Même si j’ai été beaucoup plus long, j’espère avoir été beaucoup plus clair.
    D’avance, merci beaucoup pour ton aide.
    bolide7

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Désolé, mais je n'y comprends toujours rien. Je suppose, d'après ta formule qu'il y a une feuille par client dans le premier classeur et que cette feuille est nommée d'après le code client ? C'est quoi D10 dans le premier classeur ? Mets un classeur exemple en PJ et dis-moi le résultat attendu dans le classeur 2.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour Daniel.C,
    Je suis certain qu'avec les 2 classeurs joints cela sera beaucoup plus simple pour comprendre la problématique.
    Mes explications sont dans les 2 classeurs.
    Bonne fin de journée.
    bolide7
    Fichiers attachés Fichiers attachés

  13. #13
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Je n'ai modifié que "deuxieme classeur", case à cocher en M10. Jj'ai mis la formule suivante en M10 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("'[Premier classeur.xlsx]"&$M$1&"'!$M$10")
    Je te laisse faire le reste.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir Daniel.C,
    Tu me dis avoir modifié la cellule M10 du deuxième classeur.
    Je n’ai rien trouvé dans les 2 fichiers joints à mon précédent message.
    Par ailleurs, j’ai essayé ta formule en M10 du deuxième classeur avec et sans le signe égale, mais sauf erreur de ma part, cela ne marche pas.
    De plus, où place tu ta formule, dans la cellule M10, comme une fonction normale, ou dans « Cellule liée » dans « Format de contrôle » de la case à cocher de la cellule M10 du deuxième classeur ?
    Mets tu un signe « = » devant ?
    Bonne soirée.
    bolide7

  15. #15
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Je me suis sans doute mal expliqué. Je te joins le classeur.
    Fichiers attachés Fichiers attachés

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour Daniel.C,
    Cela devrait aller beaucoup mieux avec le fichier.
    Hélas, je suis désolé, à part la flèche pointée sur la cellule M10, il n'y a rien de changé.
    Aucune fonction de mise dans la cellule M10 et dans "Format de contrôle" la case à cocher est toujours liée à $M$10.
    Mais, à force, on va bien finir par y arriver!
    Bonne journée.
    bolide7

  17. #17
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Exact, j'ai tout faux. J'ai mis la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("'[Premier classeur.xlsx]"&$M$1&"'!$M$10")
    La cellule liée de la case à cocher de M10 est N10. Le système est assez fragile, parce que, si tu coches directement cette case, tu écrases la formule. Pour masquer les résultats de la colonne N, tu peux soit masquer la colonne, soit donner aux cellules N10:N28 le format personnalisé ";;;".
    Fichiers attachés Fichiers attachés

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Rebonjour Daniel.C,

    C’est vrai que ça va beaucoup mieux avec quelques explications, la pièce jointe et la formule mise en place sur la cellule N10.
    J’ai compris, dans le deuxième classeur, tu lies la case à cocher de la cellule M10 à la cellule N10 et tu places ta formule en N10 avant d’admirer le fruit de ta réflexion et de ton travail.
    Ca marche très bien.
    Cette cellule N10 me gêne un peu, mais je vais m’en accommoder avec l’une de tes 2 propositions, certainement la colonne masquée.
    Grand merci pour cette première énigme résolue.

    Comme tu disposes de mes 2 fichiers modèles, pourrais-tu jeter un coup d’œil sur le problème de la MFC, qui marche très bien dans le fichier d’origine ("Premier classeur"), mais qui ne marche plus dans le second fichier ("Deuxième classeur").
    La MFC est évoquée dans le premier fichier (ligne 32 de la feuille "14000") et la constatation du problème dans le deuxième fichier (ligne 24 à 26).
    D’avance, merci beaucoup.

    Bon après-midi toujours sous le soleil.
    bolide7

  19. #19
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    la MFC met en gras toutes les lignes renseignées dans la plage en jaune claire au lieu de mettre en gras seulement une ligne
    A quoi correspond cette ligne ? Qu'est-ce que tu veux mettre en gras, au juste ?

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Rebonjour Daniel.C,
    Il me semble l’avoir indiqué dans les classeurs.
    Ce n’est pas bien grave, je vais recopier mes annotations des 2 classeurs ci-dessous.

    Dans le premier classeur, il est indiqué à la ligne 32 : « Avec une MFC obtenue sur le forum, lorsqu'au moins le contenu de la dernière cellule renseignée de D10:E28 est dans les cellules I12:L26, toutes les cellules de la ligne en jaune claire se mettent en gras. ».

    Dans le deuxième classeur, il est indiqué aux lignes 24 à 26 : « Il y a également un autre problème à régler : Alors que cette feuille est une copie d'une feuille du premier classeur et alors que la MFC est donc identique au premier classeur. La MFC met en gras toutes les lignes renseignées dans la plage en jaune claire au lieu de mettre en gras seulement une ligne. ».

    Pendant que j’y suis, je t’indique aussi la formule utilisé pour la MFC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ESTNUM(CHERCHE(RECHERCHEV(CAR(255);$D$10:$E$28;1);$I12:$L26))
    C’est incompréhensible, la MFC fonctionne très bien dans le premier classeur et pas dans le deuxième.
    D’avance, merci de te pencher sur ce problème, qui est un peu éloigné du titre de cette discussion.

    Bonne soirée.
    bolide7

Discussions similaires

  1. Verrouiller une cellule (qui contient une liste) si j+30
    Par micnac dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 27/05/2014, 14h12
  2. Réponses: 7
    Dernier message: 26/05/2014, 08h39
  3. Supprimer une cellule qui contient une information
    Par florianc31 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/02/2013, 11h26
  4. [XL-2003] Trouver la dernière cellule qui contient une valeur définie
    Par apnw7931 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/02/2011, 14h28
  5. comment afficher une cellule qui contient une formule, dans textbox
    Par cali59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2009, 00h07

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