Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2011, 17h01   #1
Nouveau Membre du Club
 
Inscription : mars 2010
Messages : 130
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : mars 2010
Messages : 130
Points : 38
Points : 38
Par défaut Gestion des CheckBox dans Visual Studio

Bonjour,

Je voudrais initialiser plusieurs CheckBox à True et j'utilisais la syntaxe suivante dans Vba sous Excel qui fonctionne très bien :

Code :
1
2
3
For k = 1 to 32
    Me.Controls("CheckBox" & k).Value = True
Next
Dans Visual Studio (que je découvre et dont je n'ai pas l'aide) j'ai une erreur : "'Value' n'est pas un membre de 'System.Windows.Forms.Control'

J'ai donc modifié mon code :
Code :
1
2
3
4
5
6
7
8
9
 
Dim b As Control
For Each b In GroupBox1.Controls
 
    If b.Name.Contains("CheckBox") = True Then
    b.Checked = True  'C'est là que ça ne marche pas
    End If
 
Next
mais je n'arrive toujours pas à cocher ces CheckBox, pouvez-vous m'aider ?

PS : mon message est peut être mal placé mais je ne vois pas où le mettre
Taiby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 16h15   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Pourquoi les mettre dans un groupBox ???
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 18h36   #3
Nouveau Membre du Club
 
Inscription : mars 2010
Messages : 130
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : mars 2010
Messages : 130
Points : 38
Points : 38
Le groupebox n'a pas d'importance, si il n'était pas là cela ne changerait rien à mon problème (à moins que tu penses à autre chose ?).
Le fait de mettre les Chekbox dans un groupebox est plus sympa au niveau organisation dans mon panneau, il y a d'autres boutons et champs texte.
De plus la boucle de test ne se fait que pour les composants du groupebox alors que sinon tous les composants du panneau subiraient le test.


Personne n'a une idée ? Je bloque là-dessus et ça me freine pour la suite de mon développement.
Taiby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 18h50   #4
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
pourtant, ce code fonctionne très bien chez moi ...
Code :
1
2
3
4
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        CheckBox1.Checked = True
        CheckBox2.Checked = True
    End Sub
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 19h14   #5
Nouveau Membre du Club
 
Inscription : mars 2010
Messages : 130
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : mars 2010
Messages : 130
Points : 38
Points : 38
Oui, en effet, pour cocher un à un chaque checkbox cela fonctionne, mais comme j'en ai 32 sur mon panneau (il s'agit de voies de mesure) et j'ai un autre panneau avec 99 checkbox (points de mesure) je veux faire cela dans une boucle et traiter le checkbox en cours (voir mon premier message).

Comme je le disais, sous vba/Excel, ceci fonctionne :

Code :
1
2
3
For k = 1 to 32
Me.Controls("CheckBox" & k).Value = True
Next

mais pas sous Visual Studio !!
Taiby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 22h10   #6
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
travaille alors en objet ...
Code :
1
2
3
4
5
6
7
8
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim o As Object
        For Each o In Me.Controls
            If o.GetType.Name = "CheckBox" Then
                o.checked = True
            End If
        Next
    End Sub
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 22h22   #7
Nouveau Membre du Club
 
Inscription : mars 2010
Messages : 130
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : mars 2010
Messages : 130
Points : 38
Points : 38
Merci Maxence, je vais tester cela dès demain matin.
Taiby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 14h04   #8
Nouveau Membre du Club
 
Inscription : mars 2010
Messages : 130
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : mars 2010
Messages : 130
Points : 38
Points : 38
Parfait, cela fonctionne sauf que j'ai un petit soucis :

la boucle balaie bien tous les CheckBox que j'ai dans mon GroupBox mais en commençant par les noms de poids forts (CheckBow32 puis CheckBox31 ...) ce qui m'oblige à une gymnastique biscornue et peu orthodoxe pour aller relire par la suite les CheckBox qui ont été modifiés par l'utilisateur lorsqu'il ferme le panneau.

N'y aurait-il pas un moyen de forcer le contrôle en commençant pas les CheckBox de poids faible (j'ai essayé de manipuler les TabIndex mais sans succes).
Taiby est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h00.


 
 
 
 
Partenaires

Hébergement Web