Alléger VBA récurrent
Résolu/Fermé
A voir également:
- Alléger VBA récurrent
- Comment alleger un pdf - Guide
- Alleger windows 10 - Guide
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
10 réponses
Désolé pour le temps de réponse un peu long pris dans un déménagement je n'ai pu répondre plus tôt.
Vraiment merci, systême très pratique et facil à utiliser finalement !
Je ne les pas utilisé malgré tout... En effet, mon besoin regroupant de nombreux bouton par feuille, le module de classe allège effectivement mais le temps d'enregistrement reste très lourd.
Mais je vous remercie malgré tout, cela fut instructif et sera réutilisé probablement !
J'ai finalement adapté en utilisant des boutons d'option.
Cordialement,
Vraiment merci, systême très pratique et facil à utiliser finalement !
Je ne les pas utilisé malgré tout... En effet, mon besoin regroupant de nombreux bouton par feuille, le module de classe allège effectivement mais le temps d'enregistrement reste très lourd.
Mais je vous remercie malgré tout, cela fut instructif et sera réutilisé probablement !
J'ai finalement adapté en utilisant des boutons d'option.
Cordialement,
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
1 févr. 2012 à 08:28
1 févr. 2012 à 08:28
Bonjour,
Voir aussi cette astuce de Lermitte222 pour multiplier les contrôles possédant le même code et donc la même utilité.
Voir aussi cette astuce de Lermitte222 pour multiplier les contrôles possédant le même code et donc la même utilité.
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
31 janv. 2012 à 22:16
31 janv. 2012 à 22:16
Bonsoir,
Si tu ne fais qu'une action, la première chose serait de supprimer les tests :
Private Sub CheckBox1_Click()
'
Sheets("Feuil2").Visible = ((CheckBox1.Value= True) Or (CheckBox2.Value= True))
CheckBox2.Value=Not(CheckBox1.Value)
'
End Sub
Private Sub CheckBox2_Click()
'
Sheets("Feuil2").Visible = ((CheckBox2.Value= True) Or (CheckBox1.Value= True))
CheckBox2.Value = Not(CheckBox1.Value)
'
End Sub
@+
Si tu ne fais qu'une action, la première chose serait de supprimer les tests :
Private Sub CheckBox1_Click()
'
Sheets("Feuil2").Visible = ((CheckBox1.Value= True) Or (CheckBox2.Value= True))
CheckBox2.Value=Not(CheckBox1.Value)
'
End Sub
Private Sub CheckBox2_Click()
'
Sheets("Feuil2").Visible = ((CheckBox2.Value= True) Or (CheckBox1.Value= True))
CheckBox2.Value = Not(CheckBox1.Value)
'
End Sub
@+
merci c'est deja pas mal ! par contre avec ton exemple, impossible de décocher les deux( et donc de masquer une page)... je ne dois pas pouvoir cocher l'une et l'autre en même temps, mais aussi je dois pouvoir décocher les deux. Et je n'arrive pas sous ta forme à trouver la modif?
Et saurais-tu comme copier l'intéégfralité de mon code sur this workbook, for each worksheet ? le copiant collant tout bêtement en rajoutant cela ca ne fais rien...
Et saurais-tu comme copier l'intéégfralité de mon code sur this workbook, for each worksheet ? le copiant collant tout bêtement en rajoutant cela ca ne fais rien...
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
1 févr. 2012 à 12:14
1 févr. 2012 à 12:14
Bonjour,
Un problème de copier/coller :
Private Sub CheckBox1_Click()
'
Sheets("Feuil2").Visible = ((CheckBox1.Value= True) Or (CheckBox2.Value= True))
CheckBox2.Value=Not(CheckBox1.Value)
'
End Sub
Private Sub CheckBox2_Click()
'
Sheets("Feuil2").Visible = ((CheckBox2.Value= True) Or (CheckBox1.Value= True))
CheckBox1.Value = Not(CheckBox2.Value)
'
End Sub
Un problème de copier/coller :
Private Sub CheckBox1_Click()
'
Sheets("Feuil2").Visible = ((CheckBox1.Value= True) Or (CheckBox2.Value= True))
CheckBox2.Value=Not(CheckBox1.Value)
'
End Sub
Private Sub CheckBox2_Click()
'
Sheets("Feuil2").Visible = ((CheckBox2.Value= True) Or (CheckBox1.Value= True))
CheckBox1.Value = Not(CheckBox2.Value)
'
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cette erreur de copier coller je l avais remarqué. malgre tout en inserant ton je me retrouve dans l impossibilite de decocher les deux case. si j en decoche une l autre se coche. je ne peux donc plus masquer mes feuilles...
et pas d idee pour thisworkbook?
et pas d idee pour thisworkbook?
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
1 févr. 2012 à 18:32
1 févr. 2012 à 18:32
Effectivement, ça va plus loin que l'erreur de copier-coller. Tu peux laisser la seconde boucle if.
Sinon, pour appliquer la macro à toutes les feuilles, je ne vois pas bien comment faire ça facilement : quel est le lien entre le nom des feuilles et le nom des CheckBox. Ici, les CheckBox 1 et 2 pilotent la feuille 2 mais ensuite ?
@+
Sinon, pour appliquer la macro à toutes les feuilles, je ne vois pas bien comment faire ça facilement : quel est le lien entre le nom des feuilles et le nom des CheckBox. Ici, les CheckBox 1 et 2 pilotent la feuille 2 mais ensuite ?
@+
en gros c'est un fichier de suivi. il passe de main en main.
chaque box correspond a un onglet pour une personne. si onglet affiché, la personne est concernée, d'où l'utilité de masquer pour les non concernées. et les deux box correspond à deux acton différentes a y effectuer.
un peu comme un dossier avec ou non des avis y porter. au fil des bureaux. genre avis ou refus, et les feuilles des protagonistes sont les observations .
les box 1 et 2 correspondent à la feuille 1.
les box 3 et 4 à la feuille 2.
les box 4 et 5 à la feuille 3.... et ainsi de suite.
MAIS possibilité de retrouver les box 1 et 2 dans une autre feuille. d'où l'utilité de recopier entierement le code a chaque fois au cas ou....
j'ai chercher à creer une boucle eventuellement, en mettant tous ces codes dans thisworbook, et seulement le nom des macros dans les feuilles...mais je n'y arrive pas...
chaque box correspond a un onglet pour une personne. si onglet affiché, la personne est concernée, d'où l'utilité de masquer pour les non concernées. et les deux box correspond à deux acton différentes a y effectuer.
un peu comme un dossier avec ou non des avis y porter. au fil des bureaux. genre avis ou refus, et les feuilles des protagonistes sont les observations .
les box 1 et 2 correspondent à la feuille 1.
les box 3 et 4 à la feuille 2.
les box 4 et 5 à la feuille 3.... et ainsi de suite.
MAIS possibilité de retrouver les box 1 et 2 dans une autre feuille. d'où l'utilité de recopier entierement le code a chaque fois au cas ou....
j'ai chercher à creer une boucle eventuellement, en mettant tous ces codes dans thisworbook, et seulement le nom des macros dans les feuilles...mais je n'y arrive pas...
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
1 févr. 2012 à 20:00
1 févr. 2012 à 20:00
MAIS possibilité de retrouver les box 1 et 2 dans une autre feuille. d'où l'utilité de recopier entierement le code a chaque fois au cas ou....
: dans ce cas, elle correspondent toujours à la feuille 1 ?
: dans ce cas, elle correspondent toujours à la feuille 1 ?
oui toujours. genre en feuille 1 j'ai deux box qui affiche ou masque la feuille 3.
mais j'ai également en feuille 25 avec deux box identiques à celle de la feuille 1 qui affiche ou masque la feuille 3.
c'est pour cela que jusqu'a present mes 25 feuilles ont toute le même code, que ce soit utile ou non(car evolutif au fil du temps)..
mais si ce code pouvait être inscrit uniquement sur une seule feuille, qui serait un récapitulatif finalement, et les 24 autres feuilles pouvait "pomper" leur code sur celle-ci, ce serait super ! lol
Sachant que le code donc correspond à celui cité plus haut, multiplier X fois.
mais j'ai également en feuille 25 avec deux box identiques à celle de la feuille 1 qui affiche ou masque la feuille 3.
c'est pour cela que jusqu'a present mes 25 feuilles ont toute le même code, que ce soit utile ou non(car evolutif au fil du temps)..
mais si ce code pouvait être inscrit uniquement sur une seule feuille, qui serait un récapitulatif finalement, et les 24 autres feuilles pouvait "pomper" leur code sur celle-ci, ce serait super ! lol
Sachant que le code donc correspond à celui cité plus haut, multiplier X fois.
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
1 févr. 2012 à 22:03
1 févr. 2012 à 22:03
Bonsoir,
Juste un premier jet pour vérifier qu'on parle bien de la même chose. J'ai repris l'astuce proposée par pijaku :
https://www.cjoint.com/?BBbv640p9QO
Par contre, ce n'est pas très clair au niveau des CheckBox, si tu veux je complète le code en faisant CheckBox 1 et 2 masquent la feuille 2, CheckBox 3 et 4 masquent la feuille 3, ...
Tu adapteras ensuite ou tu me donnes les correspondances et je le fais.
@+
Juste un premier jet pour vérifier qu'on parle bien de la même chose. J'ai repris l'astuce proposée par pijaku :
https://www.cjoint.com/?BBbv640p9QO
Par contre, ce n'est pas très clair au niveau des CheckBox, si tu veux je complète le code en faisant CheckBox 1 et 2 masquent la feuille 2, CheckBox 3 et 4 masquent la feuille 3, ...
Tu adapteras ensuite ou tu me donnes les correspondances et je le fais.
@+
houla, là je suis completement perdu !....
donc oui j'aimerai bien le code légèrement complété, après je devrais pouvoir mieu comprendre ...
exemple, la box 1 et 2 affiche ou masque la feuille 2.
la box 3 et 4 affiche ou masque la feuille 3.
ET, EVENTUELLEMENT, sur la feuille 2, une box 3 et 4 qui affiche ou masque la feuille 3. De manière à voir la "duplication du code"...
SI ce n'est pas trop demandé !
vraiment merci pour le temps passé...
donc oui j'aimerai bien le code légèrement complété, après je devrais pouvoir mieu comprendre ...
exemple, la box 1 et 2 affiche ou masque la feuille 2.
la box 3 et 4 affiche ou masque la feuille 3.
ET, EVENTUELLEMENT, sur la feuille 2, une box 3 et 4 qui affiche ou masque la feuille 3. De manière à voir la "duplication du code"...
SI ce n'est pas trop demandé !
vraiment merci pour le temps passé...
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
3 févr. 2012 à 17:55
3 févr. 2012 à 17:55
Bonjour,
Voici une seconde version du fichier :
https://www.cjoint.com/?BBdrZJEUzak
Par contre, je n'ai rien fait (et ça me paraît bizarre) concernant les CheckBox répétées : par exemple, si j'ai une CheckBox1 sur les feuilles Feuil1 et Feuil3, lorsque je l'active sur la Feuil1 est-ce qu'elle s'active sur la Feuil3 ?
N'hésite pas à me faire tes remarques.
Voici une seconde version du fichier :
https://www.cjoint.com/?BBdrZJEUzak
Par contre, je n'ai rien fait (et ça me paraît bizarre) concernant les CheckBox répétées : par exemple, si j'ai une CheckBox1 sur les feuilles Feuil1 et Feuil3, lorsque je l'active sur la Feuil1 est-ce qu'elle s'active sur la Feuil3 ?
N'hésite pas à me faire tes remarques.
Les checkbox répétées apparement fonctionne dans ton exempl ! je t'en remercie c'est top en gors c'est ce que je recherchais !
mais...
dés que je rajoute une box cela ne fonctionne plus.... ?
J'ai bien tenté de remettre de rajouter ces box au module, mais pareil.. faut-il que les box soit nommées "checkbox" absolument ?
ou ton module de classe repère le type automatiquement?
mais...
dés que je rajoute une box cela ne fonctionne plus.... ?
J'ai bien tenté de remettre de rajouter ces box au module, mais pareil.. faut-il que les box soit nommées "checkbox" absolument ?
ou ton module de classe repère le type automatiquement?
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
6 févr. 2012 à 12:19
6 févr. 2012 à 12:19
Bonjour,
Il ne faut pas obligatoirement qu'ils soient nommés CheckBox mais il faut que leur nom corresponde à celui que tu mets dans le module de classe dans les Select Case. Sinon, lorsque tu ajoutes des CheckBox, il faut modifier le code, enregistrer puis fermer et réouvrir ton fichier pour que les modification soient effectives.
Si tu veux, tu m'envoies un exemple de fichier seulement avec les CheckBox et les feuilles qu'elles doivent gérer et je te mets les liens à jour.
@+
Il ne faut pas obligatoirement qu'ils soient nommés CheckBox mais il faut que leur nom corresponde à celui que tu mets dans le module de classe dans les Select Case. Sinon, lorsque tu ajoutes des CheckBox, il faut modifier le code, enregistrer puis fermer et réouvrir ton fichier pour que les modification soient effectives.
Si tu veux, tu m'envoies un exemple de fichier seulement avec les CheckBox et les feuilles qu'elles doivent gérer et je te mets les liens à jour.
@+