Boucle des checkbox
Pinfourcat
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
chauliac -
chauliac -
Bonjour à tous
Mon problème est le suivant
Dans une macro excel j'ai un useform avec 31 checkbox dans un frame1.
J'utilise une boucle pour les faire tourner.
Mais celle -ci n'en comptabilise que 28.
En vous remerciant à l'avance de votre réponse .
Chauliac.
Mon problème est le suivant
Dans une macro excel j'ai un useform avec 31 checkbox dans un frame1.
J'utilise une boucle pour les faire tourner.
Mais celle -ci n'en comptabilise que 28.
En vous remerciant à l'avance de votre réponse .
Chauliac.
Private Sub CommandButton2_Click() Dim plage As String Dim mois As String Dim k As Integer Dim i As Integer For k = 0 To 30 If k = 0 Then plage = ("b") If k = 1 Then plage = ("c") If k = 2 Then plage = ("d") If k = 3 Then plage = ("e") If k = 4 Then plage = ("f") If k = 5 Then plage = ("g") If k = 6 Then plage = ("h") If k = 7 Then plage = ("i") If k = 8 Then plage = ("j") If k = 9 Then plage = ("k") If k = 10 Then plage = ("l") If k = 11 Then plage = ("m") If k = 12 Then plage = ("n") If k = 13 Then plage = ("o") If k = 14 Then plage = ("p") If k = 15 Then plage = ("q") If k = 16 Then plage = ("r") If k = 17 Then plage = ("s") If k = 18 Then plage = ("t") If k = 19 Then plage = ("u") If k = 20 Then plage = ("v") If k = 21 Then plage = ("w") If k = 22 Then plage = ("x") If k = 23 Then plage = ("y") If k = 24 Then plage = ("z") If k = 25 Then plage = ("aa") If k = 26 Then plage = ("ab") If k = 27 Then plage = ("ac") If k = 28 Then plage = ("ad") If k = 29 Then plage = ("ae") If k = 30 Then plage = ("af") If k = 31 Then plage = ("ag") If Frame1(k).Value = True Then Range(plage & 8).Interior.ColorIndex = 6 End If Next End Sub
A voir également:
- Boucle des checkbox
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
16 réponses
Bonjour,
Peut être modifier le
Cordialement, Romain.
Peut être modifier le
For k = 0 To 30en
For k = 0 To 40car votre k = 31 ne sera pas comptabilisé.
Cordialement, Romain.
Re bonjour
Vous me demander un fichier d'exemple.
Je n'en est point.
Je voudrai comprendre pour quelle raison le compteur s'arrète.
encore mes remerciments
Chauliac
Vous me demander un fichier d'exemple.
Je n'en est point.
Je voudrai comprendre pour quelle raison le compteur s'arrète.
encore mes remerciments
Chauliac
Désolé d'user de votre temps
Mais je n'ai que ce code dans ma macro.
Les plages sélectionnées par la boucle sont simplement pour insérer dans les cellules.
Ex:if le checkbox 28 est =true ma plage sera ("ad").
Donc le code sera range("ad & 12").
Mais la boucle ne veux plus avancer au delà .
Salutations
Chauliac
Mais je n'ai que ce code dans ma macro.
Les plages sélectionnées par la boucle sont simplement pour insérer dans les cellules.
Ex:if le checkbox 28 est =true ma plage sera ("ad").
Donc le code sera range("ad & 12").
Mais la boucle ne veux plus avancer au delà .
Salutations
Chauliac
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je vous remercie encore pour votre patience.
Je vais laisser tomber et peut-être trouver une autre solution.
Merci
Chauliac
Je vais laisser tomber et peut-être trouver une autre solution.
Merci
Chauliac
Pour sélectionner une cellule avec une macro le code est Range ("a1") pour la première cellule.
Je voudrai sélectionner la cellule 31 de la ligne 1.
donc le code est range("ae,1").
Voilà pourquoi ma boucle . attribue des lettres .
Si cela peux mieux aider ?
Chauliac
Je voudrai sélectionner la cellule 31 de la ligne 1.
donc le code est range("ae,1").
Voilà pourquoi ma boucle . attribue des lettres .
Si cela peux mieux aider ?
Chauliac
Bonjour,
Essaies ce code :
Essaies ce code :
Option Explicit
Private Sub CommandButton2_Click()
Dim w As Worksheet
Dim i As Integer
'Définir la feuille de calcul concernée
Set w = ActiveSheet
'Mettre à jour les couleurs en fonction des chekbox
For i = 1 To Frame1.Controls.Count
If Frame1.Controls(i - 1).Value = True Then
w.Cells(8, i + 1).Interior.ColorIndex = 6
Else
w.Cells(8, i + 1).Interior.ColorIndex = xlColorIndexNone
End If
Next i
End Sub
Patrice bonjour
Merci de s'intéresser à mon cas mais désolé cela ne fonctionne point.
Cordialement
Chauliac
Merci de s'intéresser à mon cas mais désolé cela ne fonctionne point.
Cordialement
Chauliac
Bonjour
Pour sélectionner une cellule avec une macro le code est Range ("a1") pour la première cellule.
Je voudrai sélectionner la cellule 31 de la ligne 1.
donc le code est range("ae,1").
deja ne pas mettre Range dans ton cas
Range ("A1") = Cells(1,1)
Range("AE1"). = Cells(1,31)
A+
Maurice
Pour sélectionner une cellule avec une macro le code est Range ("a1") pour la première cellule.
Je voudrai sélectionner la cellule 31 de la ligne 1.
donc le code est range("ae,1").
deja ne pas mettre Range dans ton cas
Range ("A1") = Cells(1,1)
Range("AE1"). = Cells(1,31)
A+
Maurice
Bonjour tout le monde,
En reprenant la procédure de Patrice :
En reprenant la procédure de Patrice :
Option Explicit Private Sub CommandButton2_Click() Dim w As Worksheet Dim i As Integer 'Définir la feuille de calcul concernée Set w = ActiveSheet 'Mettre à jour les couleurs en fonction des chekbox For i = 1 To 31 If Me.Frame1.Controls("CheckBox" & i).Value = True Then w.Cells(8, i + 1).Interior.ColorIndex = 6 Else w.Cells(8, i + 1).Interior.ColorIndex = xlColorIndexNone End If Next i End Sub
Les propriétés name des checkbox
sont tout simplement
checkbox1 pour le premier et ainsi de suite .
Cela a une importance?
Cordialement
Chauliac
sont tout simplement
checkbox1 pour le premier et ainsi de suite .
Cela a une importance?
Cordialement
Chauliac
Mon code ne dépends pas du nom du checkbox, il n'y a apparemment pas de raison pour que ça ne fonctionne pas !
As-tu un message d'erreur, si oui lequel ???
mets un exemple de ton fichier sur https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.
As-tu un message d'erreur, si oui lequel ???
mets un exemple de ton fichier sur https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.
Bonjour
Private Sub CommandButton2_Click()
Dim Lig As Long
Dim C As Long
Lig = 8
With Sheets("Feuil1")
For C = 1 To 31
If Controls("CheckBox" & C).Value = True Then
.Cells(Lig, C + 1).Interior.ColorIndex = 6
Else
.Cells(Lig, C + 1).Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
A+
Maurice
Private Sub CommandButton2_Click()
Dim Lig As Long
Dim C As Long
Lig = 8
With Sheets("Feuil1")
For C = 1 To 31
If Controls("CheckBox" & C).Value = True Then
.Cells(Lig, C + 1).Interior.ColorIndex = 6
Else
.Cells(Lig, C + 1).Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
A+
Maurice