Problème d'appel d'un module

Résolu
GautPookie Messages postés 29 Statut Membre -  
GautPookie Messages postés 29 Statut Membre -
Bonjour,

Je suis bloqué sur un problème (surement tout bête) mais je trouve pas de solution tout seul... alors je fais appel au forum! ;-)

Je veux rendre des CheckBox visible (jusque là, pas de soucis) mais j'aimerais rendre mon fichier plus "jolie" et mettre cette Sub dans un module et faire appel à ce module.
Voici mon code :
Private Sub CheckBox1_Click()

'Rend les checkbox visible ou non'
If CheckBox1 = True Then
CheckBox2.Visible = True
CheckBox3.Visible = True
CheckBox4.Visible = True
CheckBox5.Visible = False
CheckBox6.Visible = False
CheckBox7.Visible = False
CheckBox8.Visible = False
CheckBox9.Visible = False
Else
If CheckBox1 = False Then
CheckBox2.Visible = False
CheckBox3.Visible = False
CheckBox4.Visible = False
CheckBox5.Visible = False
CheckBox6.Visible = False
CheckBox7.Visible = False
CheckBox8.Visible = False
CheckBox9.Visible = False

Sheets("Liste_machines").Select
Range("K9").ClearContents
End If
End If
Range("B9").Select
End Sub

Ce code est écrit dans Microsoft Excel Objets, Machines (Liste_machines).
J'aimerais le mettre dans le module CheckBox mais qu'il s'éxécute quand même!

J'espère avoir été clair...
Quelqu'un peut m'aider?

Merci d'avance
Pookie

5 réponses

  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Au passage, est-vous sur que :
    Ce code est écrit dans Microsoft Excel Objets, Machines (Liste_machines).
    Ce n'est pas plutôt : Microsoft Excel Objets, Feuil1 (Liste_machines)

    Que comprendre par : J'aimerais le mettre dans le module CheckBox.... !
    En principe il existe 2 modules : Module et Module de classe ... !

    Merci de vos précisions.

    Proposition de procédure modifiée :
    Private Sub CheckBox1_Click()
    'Rend les checkbox visible ou non'
    If CheckBox1 = True Then
        For c = 2 To 9
            OLEObjects("CheckBox" & c).Visible = True
        Next c
    Else
        For c = 2 To 9
            OLEObjects("CheckBox" & c).Visible = False
        Next c
    End If
    Sheets("Liste_machines").Select
    Range("K9").ClearContents
    Range("B9").Select
    End Sub


    Salutations.
    Le Pingou
    0
    1. GautPookie Messages postés 29 Statut Membre
       
      Bonjour Le Pingou,

      Je viens de vérifier, c'est bien : Microsoft Excel Objets, Machines (Liste_machines).
      Ainsi, j'aimerais créer un module nommé Checkbox où se trouverait le code (plus jolie d'ailleurs que le mien) des Checkbox_click.

      Pour inof : quelle est la différence entre les deux modules dont tu as parlé?
      Merci de ton aide
      Pookie
      0
  2. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    La macro [Private Sub CheckBox1_Click()] a été déclarée dans le module de la feuille [Liste_machines] alors pourquoi voulez-vous la mettre dans un module général ?
    Concerne : Je viens de vérifier, c'est bien : Microsoft Excel Objets, Machines (Liste_machines).
    Voir extrait document joint : https://www.cjoint.com/?3HnnyBFi823

    0
    1. GautPookie Messages postés 29 Statut Membre
       
      Re,
      Je souhaite la mettre dans le module à part car j'ai 350 CheckBox de la sorte sur cette page.
      C'est pour faire "plus joli"!
      pookie
      0
  3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Eh bien avec vos 350 cases à cocher sur une page ( ou feuille ) , j'espère qu'il reste un peu de place pour les valeurs.
    Pour faire plus joli laisser la macro sur le module qui lui correspond et remplacez la par celle-ci qui est plus aboitie :
    Private Sub CheckBox1_Click()
    Dim trfa As Boolean
    trfa = True
    'Rend les checkbox visible ou non'
    If CheckBox1 = False Then
    trfa = False
    End If
    For c = 2 To 350
    OLEObjects("CheckBox" & c).Visible = trfa
    Next c
    Sheets("Liste_machines").Select
    Range("K9").ClearContents
    Range("B9").Select
    End Sub
    0
    1. GautPookie Messages postés 29 Statut Membre
       
      Bonjour le Pingou,

      Ce n'est pas si simple, comme tu as pu le voir dans mon exemple du début, ce n'est pas parce que Checkbox 1 est vrai que toutes les checkbox sont vrais.
      Ta solution marche pour le faux par contre! ;-)
      Mais est-ce possible de mettre toutes les checkbox dans un module "checkbox" et de l'appeler depuis Microsoft Excel Objets, Machines (Liste_machines)?

      Merci
      Pookie
      0
  4. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,

    J'aimerais quand même recevoir une réponse similaire à :
    Concerne : Je viens de vérifier, c'est bien : Microsoft Excel Objets, Machines (Liste_machines).
    Voir extrait document joint : https://www.cjoint.com/?3HnnyBFi823
    0
    1. GautPookie Messages postés 29 Statut Membre
       
      Oui, c'est bien ça!
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    C'est trop demandé que de recevoir aussi un extrait comme je l'ai fait!
    0
    1. GautPookie Messages postés 29 Statut Membre
       
      Bonjour Le pingou,
      Merci de t'être investi mais finalement je vais passer par des UserForms, c'est plus simple, plus joli et facilement modifiable contrairement aux checkbox!
      Merci encore de ton aide et à bientôt peut être!
      Bien cordialement,
      Pookie
      0