rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Boucle checkbox vba excel

guetteur, le mercredi 2 avril 2008 à 11:15:13
Bonjour, je voudrais voir si des checkbox sont à vrai ou pas sur VBA pour excell. Mon gros problème est de faire boucler les checkbox il y en a une centaine.
Voilà mon code erroné

For i = 1 To 100

Dim a

If Feuil3.CheckBox"&i.Value = true Then
a = 1
End If

Next

ce qui marche c'est sans boucle:

If Feuil3.CheckBox1.Value = true Then
a = 1
End If

Merci de votre aide
Configuration: Windows XP
Internet Explorer 6.0
Répondre à guetteur  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Xavstarblues, le mercredi 2 avril 2008 à 11:18:56
Bonjour, il semble qu'il y ait un gros problème dans ta boucle, tu redefinis a chaque fois ta variable "a" et au final "a" ne te retourne true ou false que pour ta dernière checkbox P4 2.4, 512 DDR,Geforce 6200 AGP Win XP SP2|||P3 1 GHZ , 256 SDRAM, Debian Etch ||| P3 1Ghz , 392 SDRAM , Xubuntu 6.10
AMD Sempron 2600+,768 DRR , Win 2k|||AMD Athlon 64 X2 4200+, 2 Go DDR Ubuntu, Suse ou Solaris pas encore choisi
Répondre à Xavstarblues

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 11:27:58
a oui pas con mais le problème réel ne vient pas de là. le problème vient de cet ligne

CheckBox"&i.

je ne sais pas comment appeler ma checkbox
Répondre à guetteur

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
amigo, le mercredi 2 avril 2008 à 12:13:06
bonjour,

Voici un petit code qui pourra t'aider
il passe en revue tous les controles qui sont sur ton userform, et recupère la valeur des controles CheckBox, à toi d'en faire ce que tu as prévu.
j'ai affecté cette macro a CommandButton1, il faudra adapter.
Private Sub CommandButton1_Click()
Dim ctrl As control, nom As String
For Each ctrl In Me.Controls
  nom = ctrl.Name
  If InStr(nom, "CheckBox") = 1 Then
  MsgBox nom & " = " & ctrl.Value
End If
Next
Répondre à amigo

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 13:17:59
comment tu définis Me.Controls ??
Répondre à guetteur

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 13:19:37
parce que moi j'ai une erreur de compilation en écrivant Feuil.Controls
Répondre à guetteur

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
amigo, le mercredi 2 avril 2008 à 13:30:42
En fait ça marche sur un UserForm, pour une feuille je n'ai pas essayé, je cherche.
Répondre à amigo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 13:39:29
et c'est quoi une userform.
Répondre à guetteur

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 13:42:16
ok j'ai trouvé je peux en insérer une mais c'est sur VBA. alors que moi j'ai placé mes 100 checkbox dans des cellules sous excel en face d'éléments que je veux "séléctionner".
Répondre à guetteur

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
guetteur, le mercredi 2 avril 2008 à 14:05:05
If Feuil3.CheckBox(i).Value = True Then
a = 1
End If

en faisant la phrase ne s'écrit pas en rouge mais si je lance la commande j'ai une erreur compil
Répondre à guetteur

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
arnokite, le mercredi 16 avril 2008 à 20:55:25
Salut,

J'avais le même problème que toi et voilà comment je l'ai résolu, si cela peux t'aider:

Lorsque tu insères tes checkbox dans la feuille excel, tu fait un clic droit sur la checkbox, tu clic sur "Format de contrôle".
Dans l'onglet "Contrôle" tu associes une cellule de ta ligne à selectionner ex: Cellule Liée : C4.
Lorsque celle ci est associée, tu t'aperçois que lorsque la case à cocher est cochée, il apparait "VRAI" dans la cellule liée.
Il te reste à faire une boucle sur les lignes :

If Sheets("club").Range("C4").Offset(ligneclub, 0) = True Then
...

ligneclub = ligneclub+1

Il faut vérifier la cellule par "true" et non pas "VRAI" comme elle l'indique.

J'espère t'avoir aider....

@+++
Arnaud
Répondre à arnokite

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 arnokite, le mercredi 16 avril 2008 à 21:02:30
PS :

Cela te permet également de remettre toutes tes checkboxs à 0, tu met Faux dans la colonne sélectionnée.

@
Répondre à arnokite
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger MOREFUNC (Macro complémentaire EXCEL) 5.06MOREFUNC (Macro complémentaire EXCEL) - Morefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Ms Word Excel Cracker 2.2Ms Word Excel Cracker - Ms Word Excel Craker est une application permettant de retrouver les mots de passe perdus ou oubliés pour les fichiers.xls...Catégorie: Suite bureautique
Licence: Freeware/gratuit
Télécharger ConnectCode Free Excel Training 1.01ConnectCode Free Excel Training - Office Excel est un incontournable quand on utilise Windows comme l'est Word. Néanmoins son utilisation n'est pas des plus...Catégorie: Bureautique
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « boucle checkbox vba excel »