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

Macros et VBA Excel Discussion :

Cases à cocher


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut Cases à cocher
    Bonjour à tous,

    J'ai affecté une macro à une case à cocher.
    Le problème est le suivant : lorsque je coche la cellule, il ne se passe rien, la valeur que je souhaite affecter à cells(1,1) ne s'affiche pas, et lorsque je décoche, la valeur de ma cellule cells(1,1) se met sur vrai.. (alors que la cellule liée est à vrai lorsque la "case à cocher" est cochée)

    Voici mon code (nb : Feuil_2.Cells(9, 2).Value est ma cellule liée, Feuil_1.Cells(1, 1).Value est la cellule dans laquelle j'affiche ma donnée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Sub test()
     Dim Feuil_1 As Worksheet
     Dim Feuil_2 As Worksheet
     
     Set Feuil_1 = ThisWorkbook.Sheets("Feuil1")
     Set Feuil_2 = ThisWorkbook.Sheets("Feuil2")
     
     If Feuil_2.Cells(9, 2).Value = FAUX Then
     Feuil_1.Cells(1.1).Value = "Faux"
     End If
     
     If Feuil_2.Cells(9, 2).Value = VRAI Then
     Feuil_1.Cells(1.1).Value = "Vrai"
     End If
     
    End Sub
    Pourtant, cela fonctionne avec les cases à option... Quelqu'un à une idée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Sub test()
     Dim Feuil_1 As Worksheet
     Dim Feuil_2 As Worksheet
     
     Set Feuil_1 = ThisWorkbook.Sheets("Feuil1")
     Set Feuil_2 = ThisWorkbook.Sheets("Feuil2")
     
     If Feuil_2.Cells(9, 2).Value =  2 Then
     Feuil_1.Cells(1.1).Value = "Oui"
     End If
     
     If Feuil_2.Cells(9, 2).Value = 1 Then
     Feuil_1.Cells(1.1).Value = "Non"
     End If
     
    End Sub

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut
    Cela ne vient pas des cases à cocher ou des cases à option, mais plutôt de ma condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Feuil_2.Cells(9, 2).Value = FAUX
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Feuil_2.Cells(9, 2).Value = VRAI
    Je ne sais pas comment spécifier une équivalence avec une chaine de caractère...

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Tout d'abord:
    Feuil_1.Cells(1.1).Value = "Non"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil_1.Cells(1,1).Value = "Non"
    Puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Feuil_2.Cells(9, 2).Value = False then

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par tibss Voir le message

    Pourtant, cela fonctionne avec les cases à option... Quelqu'un à une idée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     If Feuil_2.Cells(9, 2).Value =  2 Then
     Feuil_1.Cells(1.1).Value = "Oui"
     End If
    Quand tu dis que cela fonctionne, cela veut-il dire que tu as bien le texte Oui, qui apparait dans ta cellule A1 avec le code ci-dessus par exemple ? Je suis surpris, puisque comme l'a fait remonter EngueEngue, la syntaxe est erronée : attention aux points et aux virgules, ainsi qu'à la distinction string/booléen

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut
    Merci à tous pour votre aide, je suis passé par une étape intermédiaire en affectant un nombre à une cellule en fonction du retour "vrai" ou "faux".. Et en mettant ma condition après

    Tibss

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

Discussions similaires

  1. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 12h07
  2. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 12h44
  3. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 11h54
  4. Activer cases à cocher
    Par schnito dans le forum MFC
    Réponses: 4
    Dernier message: 24/01/2004, 17h07
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 18h07

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