Excel2010 traitement auto checkbox pour listbox
Résolu/Fermé
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
-
Modifié par ced3c le 9/11/2012 à 15:43
ced3c Messages postés 237 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 mai 2016 - 13 nov. 2012 à 14:54
ced3c Messages postés 237 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 mai 2016 - 13 nov. 2012 à 14:54
A voir également:
- Excel2010 traitement auto checkbox pour listbox
- Telecharger auto refresh - Télécharger - Divers Web & Internet
- Traitement de texte gratuit - Guide
- Auto mouse click - Télécharger - Divers Utilitaires
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
7 réponses
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
9 nov. 2012 à 15:45
9 nov. 2012 à 15:45
je continue de chercher sur le net
Je pense qu'il faut passer par une boucle du style
Une petite aide svp ?
Je pense qu'il faut passer par une boucle du style
for i = 1 to 31mais je ne sais pas comment le construire
Une petite aide svp ?
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
11 nov. 2012 à 18:24
11 nov. 2012 à 18:24
désolé de relancer le sujet mais je ne trouve pas comment faire
Je dois faire une procedure générique et l'appeller pour chaque checkbox ?
j'ai essayer quelques chose comme cela mais bien évidement cela ne marche pas
dans ce code je voulais remplacer le chiffre des checkbox par "i" pour en faire un code générique
puis je voulais appeler cette procedure pour chaque checkbox soit :
etc ... jusqu'a checkbox31
visiblement ce n'est pas bon du tout. Peut etre meme que je complique le code
Pourriez vous me dire comment je dois procéder svp ?
Je dois faire une procedure générique et l'appeller pour chaque checkbox ?
j'ai essayer quelques chose comme cela mais bien évidement cela ne marche pas
Sub traitement() Dim i As Integer For i = 1 To 31 If CheckBox(i) = True Then ListBox1.AddItem CheckBox(i).Caption ElseIf CheckBox(i) = False Then ListBox1.RemoveItem CheckBox(i) Else End If Next End Sub
dans ce code je voulais remplacer le chiffre des checkbox par "i" pour en faire un code générique
puis je voulais appeler cette procedure pour chaque checkbox soit :
Private Sub CheckBox1_Click() Call traitement End Sub
Private Sub CheckBox1_Click() Call traitement End Sub
etc ... jusqu'a checkbox31
visiblement ce n'est pas bon du tout. Peut etre meme que je complique le code
Pourriez vous me dire comment je dois procéder svp ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 11/11/2012 à 20:04
Modifié par eriiic le 11/11/2012 à 20:04
Bonsoir,
boucle sur des textbox :
For i = 1 to 20
UserForm1.Controls("textbox" & i).value= "blablabla..."
next i
Mais essaie plutôt en passant le n° checkbox en paramètre pour n'agir que sur celui cliqué.
Et n'oublie pas qu'en joignant systématiquement un fichier de test tu augmentes les réponses.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
boucle sur des textbox :
For i = 1 to 20
UserForm1.Controls("textbox" & i).value= "blablabla..."
next i
Mais essaie plutôt en passant le n° checkbox en paramètre pour n'agir que sur celui cliqué.
Et n'oublie pas qu'en joignant systématiquement un fichier de test tu augmentes les réponses.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
11 nov. 2012 à 20:05
11 nov. 2012 à 20:05
oui c est vrai que j aurai pu joindre le fichier
J essaie votre solution
Merci beaucoup pour votre reponse
J essaie votre solution
Merci beaucoup pour votre reponse
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
11 nov. 2012 à 20:07
11 nov. 2012 à 20:07
J'ai ajouté ça :
Mais essaie plutôt en passant le n° checkbox en paramètre pour n'agir que sur celui cliqué.
Je ne sais pas si tu l'as vu...
eric
Mais essaie plutôt en passant le n° checkbox en paramètre pour n'agir que sur celui cliqué.
Je ne sais pas si tu l'as vu...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
13 nov. 2012 à 14:31
13 nov. 2012 à 14:31
J ai essayer d'integrer tout ca mais je suis visiblement pas tres doué
Je joint le fichier si vous avez la patience de regarder
le code est en debut du userform "vente" dans la procedure "traitement"
https://www.cjoint.com/?3KnoEe5Woy7
merci d avance
Je joint le fichier si vous avez la patience de regarder
le code est en debut du userform "vente" dans la procedure "traitement"
https://www.cjoint.com/?3KnoEe5Woy7
merci d avance
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
13 nov. 2012 à 14:42
13 nov. 2012 à 14:42
Bonjour tout le monde,
En fait, ce serait plus "compliqué", mais plus propre de passer par un module de classe.
Mais sinon, pour répondre à la question telle qu'elle est posée :
En fait, ce serait plus "compliqué", mais plus propre de passer par un module de classe.
Mais sinon, pour répondre à la question telle qu'elle est posée :
Option Explicit Sub traitement(numCheck As Integer) Dim i As Integer If Me.Controls("CheckBox" & numCheck) = True Then ListBox1.AddItem Me.Controls("CheckBox" & numCheck).Caption ElseIf Me.Controls("CheckBox" & numCheck) = False Then For i = 0 To ListBox1.ListCount - 1 If ListBox1.List(i) = Me.Controls("CheckBox" & numCheck).Caption Then ListBox1.RemoveItem i Exit For End If Next i Else End If End Sub Private Sub CheckBox1_Change() Call traitement(1) End Sub Private Sub CheckBox2_Change() Call traitement(2) End Sub Private Sub CheckBox3_Change() Call traitement(3) End Sub Private Sub CheckBox4_Change() Call traitement(4) End Sub Private Sub CheckBox5_Change() Call traitement(5) End Sub Private Sub CheckBox6_Change() Call traitement(6) End Sub 'etc etc etc etc..... Private Sub CheckBox31_Change() Call traitement(31) End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
13 nov. 2012 à 14:44
13 nov. 2012 à 14:44
Voici une astuce CCM traitant de ce genre de code avec module de classe :
https://www.commentcamarche.net/faq/10397-vba-et-les-collections-d-objets
Salut Eric, excuse je n'avais pas vu que tu proposais déjà de placer le numéro du check en paramètre...
https://www.commentcamarche.net/faq/10397-vba-et-les-collections-d-objets
Salut Eric, excuse je n'avais pas vu que tu proposais déjà de placer le numéro du check en paramètre...
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
13 nov. 2012 à 14:54
13 nov. 2012 à 14:54
merci beaucoup pour la reponse :)
C'est exactement ce que j esperai
je vais regarder le lien du module de classe
Grand merci a vous 2
C'est exactement ce que j esperai
je vais regarder le lien du module de classe
Grand merci a vous 2