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 :

Affecter macro à une case à cocher


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut Affecter macro à une case à cocher
    Bonjour,

    j'insere une case à cocher dans une feuille excel, le probleme c'est que quand j'aimerai créer une macro (click droit--->affecter une macro) j'ai le nom de la fonction en français (Sub Caseàcocher1_Cliquer());
    alors j'ai du mal a ecrire le macro.
    ci-dessous le macro que je ve cré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
    18
     
    Sub CheckBox1()
        Dim cell As Range
    Dim i As Integer
    Dim CheckBox1 As CheckBox
    i = 3
    If CheckBox1.Value = True Then
    For Each cell In Range("L3:L5")
        cell.FormulaLocal = "=RECHERCHEV($K$" & i & ";'sh1'!A:CZ;COLONNE('sh1'!B:B);0)"
        i = i + 1
    Next
     
    Else
    For Each cell In Range("L3:L5")
        cell.Value = 0
    Next
    End If
    End Sub
    je suis nouveau dans vba excel; merci pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    bonjour,

    c resolu, le nom de la checkbox doit etre indiqué comme ça [case à cocher 1] :

    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
    18
    19
    20
     
    Sub Caseàcocher1_Cliquer()
    Dim cell As Range
    Dim i As Integer
    i = 3
     
    If [Case à cocher 1].Value = 1 Then
    For Each cell In Range("I3:I145")
         cell.FormulaLocal = "=SIERREUR(RECHERCHEV($C$" & i & ";'sh1'!A:B;2;0);0)"
         i = i + 1
     
    Next
     
    Else
    For Each cell In Range("I3:I145")
        cell.Value = 0
    Next
     
    End If
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    Bonjour,

    j'ai plusieurs questions avant de pouvoir te donner une réponse à ton problème:

    - si tu "associe une macro" c'est que tu utilise une zone de formulaire et non un contrôle ActiveX?

    - tu déclare dans ton code VBA une variable nommée "CheckBox1" qui correspond au format "CheckBox1"; c'est donc ici une nouvelle variable vierge et pourtant tu la teste ensuite avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox1.Value = True
    donc je vois une incohérence.

    Deux résolutions possibles:

    1- tu initialise ta variable CheckBox1 d'une façon ou une autre.

    2- tu supprime cette variable et tu récupère directement la CheckBox que tu souhaite tester de la facon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.CheckBox1.Value = True Then

    EDIT ::damned, le temps que je te réponde tu as trouvé la solution tout seul...

    Précise la prochaine fois que tu as une erreure de ce type si tu utilise un contrôle de formulaire ou un contrôle ActiveX

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

Discussions similaires

  1. Cocher une case à cocher en macro
    Par devdev dans le forum VBA Word
    Réponses: 5
    Dernier message: 25/04/2014, 20h14
  2. affecter une valeur à une case à cocher non cochée
    Par gastoncs dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2010, 17h19
  3. Réponses: 8
    Dernier message: 17/08/2006, 16h16
  4. [Forms 6i] Ne chocher qu'une case à cocher.
    Par macben dans le forum Oracle
    Réponses: 1
    Dernier message: 02/12/2005, 15h40
  5. Pb pour récupérer la velur d'une case à cocher
    Par muppetshow dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/04/2005, 21h23

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