Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
838 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Checkbox et VBA

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Checkbox et VBA

n°2328455
pauluxtucr​u
Posté le 31-01-2019 à 15:49:10  profilanswer
 

Bonjour à tous et par avance, merci pour votre aide,
Après de nombreuses heures à chercher une solution, je sèche totalement sur mon problème.
Le problème se situe en VBA excel et est le suivant:
sur ma feuille 1, RESULTATS, j'ai une feuille de calcul avec différentes formules qui sert à présenter les résultats uniquement avec graphiques etc.
Sur cette feuille 1, j'ai 4 cases à cocher insérées par l'outil de contrôle formulaire. Elles se nomment cordon 1 à cordon 4 (texte affiché). Le nom de la check box, en haut à gauche d'excel, nom de variable, est bien "Case à cocher 1" à 4.
Les 4 checkbox ont un "format de contrôle" type VRAI/FAUX, sur 4 cellules à côté.  
En fonction de la combinaison des 4 booléens x-x-x-x, x=VRAI ou FAUX, les formules différent sur la feuille 3.
 
sur une feuille 2, EFFORTS, j'ai une liste de combinaisons de variables N1 à N7, avec une ligne=une combinaison et une variable=une colonne.
Sur cette même feuille, j'ai placé un autre tableau de 4 lignes. ces 4 lignes correspondent aux 4 valeurs possibles de la variable N1.
Ce tableau des "N1" possibles contient sur chaque ligne une combinaison de 4 booléens y-y-y-y correspondant à ce que devrait devrait être les 4 checkbox de la feuille 1 RESULTATS pour ce N1..
 
Sur la feuille 3, il y a les formules
L'ensemble de mes macros sont en module et non sur les feuilles 1,2 ou 3.
 
Ce que je voudrais, c'est parcourir les listings d'efforts et en fonction du N1 de chaque ligne, aller piocher la combinaison y-y-y-y correspondant de la feuille EFFORTS pour aller cocher/décocher en conséquence les 4 checkbox de la feuille RESULTATS.
Sauf que j'arrive pas à cocher/décocher une checkbox en fonction de la valeur d'une autre cellule qui n'est pas sur la même feuille que la checkbox en question.
J'ai essayé avec des me.control, des shapes, des OLEObject, des checkbox.value...rien ne fonctionne.
Au pire, j'ai d'autres solutions comme éluder la case à cocher en ne mettant que des listes VRAI/FAUX aux bons endroits et en supprimant les case à cocher, mais je souhaiterais savoir tout de même où le bas blesse.
 
Merci de votre aide.

mood
Publicité
Posté le 31-01-2019 à 15:49:10  profilanswer
 

n°2328459
patrice337​40
Avec la réponse, c'est facile.
Posté le 31-01-2019 à 17:37:23  profilanswer
 

Bonjour,
 
Pour tester et cocher ou décocher les cases à cocher :

Code :
  1. Sub test()
  2. Dim chk As Shape
  3. Dim nom As String
  4.   ' Noms des checkboxes
  5.   For Each chk In Worksheets("RESULTATS" ).Shapes
  6.     If chk.Type = msoFormControl Then
  7.       If chk.FormControlType = xlCheckBox Then
  8.         nom = chk.Name
  9.         MsgBox nom
  10.       End If
  11.     End If
  12.   Next chk
  13.   ' Définir le dernier chekbox
  14.   Set chk = Worksheets("RESULTATS" ).Shapes(nom)
  15.   ' Cocher le chekbox
  16.   chk.ControlFormat.Value = xlOn
  17.   ' Décocher le chekbox
  18.   chk.ControlFormat.Value = xlOff
  19. End Sub


---------------
Cordialement, Patrice

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Checkbox et VBA

 

Sujets relatifs
VBA organisation de tableauVBA : Autoriser modifications à l'ouverture d'un fichier
[EXCEL / VBA] Connexion ADO et recordset "limité"Arret fonction VBA
VBA - average sous conditions[VBA] Récupérer l'arborescence complète d'un dossier serveur
VBA - Prendre en compte les retours de formuleVBA Excel CheckBox
Conserver la valeur d'une CheckBox (VBA)Indexation de CheckBox sous VBA
Plus de sujets relatifs à : Checkbox et VBA


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR