Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
J'ai un problème avec mes macros.Quand j'ouvre mon fichier, j'ai un formulaire qui s'ouvre.Puis un deuxième qui apparait après avoir validé le précédent.
Sur ce formulaire, il y a des cases à cocher qui doivent masquer des lignes sur les feuilles "macros_i" et "macros_f". Mais quand je valide ce formulaire, la feuille "macros_i" s'ouvre bien, sauf que les lignes n'ont pas disparu. Pourtant, le code me semble valide.
J'ai un problème avec mes macros.Quand j'ouvre mon fichier, j'ai un formulaire qui s'ouvre.Puis un deuxième qui apparait après avoir validé le précédent.
Sur ce formulaire, il y a des cases à cocher qui doivent masquer des lignes sur les feuilles "macros_i" et "macros_f". Mais quand je valide ce formulaire, la feuille "macros_i" s'ouvre bien, sauf que les lignes n'ont pas disparu. Pourtant, le code me semble valide.
Quand checkbox2 est cochée, tu masque les lignes et quand elle est décochée, tu les affiches ?
moi, j'aurais plutot vu le contraire, mais comme je n'exploite pas, je ne sais pas ce que tu fais.
Par contre, comment tu la lance ? Je n'ai trouvé aucune instruction la lançant dans ton projet ?
Sub Masquer_pvl_i()
'
' Masquer_pvl_i Macro
' Macro enregistrée le 19/06/2006 par XZ16
'
Sheets("macros_i").Select
Rows("4:9").Select
Selection.EntireRow.Hidden = True
End Sub
Sub Afficher_pvl_i()
'
' Afficher_pvl_i Macro
' Macro enregistrée le 19/06/2006 par XZ16
Private Sub CheckBox2_Click()
If CheckBox2 Then
Sheets("macros_i").Rows("4:9").Hidden = True
Else
Sheets("macros_i").Rows("4:9").Hidden = True
End If
End Sub
De plus, quand je lance une macro à partir d'une autre, bien que l'instruction Call ne soit pas obligatoire, je l'utilise
Pour trouver d'où tu la lance, j'a donc recherché (Ctrk+F)
valeurs_checkbox2
et donc je me suis tapé :
sub valeurs_checkbox2()
sub valeurs_checkbox21()
sub valeurs_checkbox22()
sub valeurs_checkbox23()
sub valeurs_checkbox24()
alors que si tu lançais tes macro avec call
Call (valeurs_checkbox2) J'aurais pu me contenté de rechercher "(valeurs_checkbox2)"
Ou "Call (Val" pour trouver tout les lancement
Met un point d'arrêt sur le titre de tes macros, et fais la manip telle que tu la conçois pour avoir le résultat (coche checkbox2, par exemple) et suis l'exécution de ton code. comme ça, tu sauras quelles sont les macros qui sont exécutées et celles qui ne le sont pas.
De plus, avec un USF tel que tu as conçu les tiens, je n'éffectue le traitement qu'à la validation : tu coches 3 ou 4 cases, puis tu fermes ton USF et tu as des lignes qui sont masquées et d'autres pas.
Tu rouvres ton USF, et tu coches d'autres cases, et... tu sais plus où tu en est.
Un USF comme ça : comme il va servir à masquer/afficher des lignes, je n'effectues le traitement qu'à la validation et pas avant.
Comme ça, tu peux faire les essais que tu veux, si tu parts au milieu, ça ne fout pas le bazard dans la feuille.
Je ne traite en instantané que ce qui a une incidence sur l'USF (masquage/affichage/verrouillage etc des contrôles de l'USF
Quand on valide, et uniquement à ce moment, je traite tous mes contrômes
Si ça sert à masquer/afficher, je mets toutes mes données dans la position qu'elles ont en valeur par défaut des contrôles (comme la position par défaut est false qui correspond à masquer, je masque tout). puis je traite l'action (si contrôle = true, j'affiche).
Avec ce style de traitement, tu limites les erreurs, et tu n'as pas 50 macros à balayer pour retrouver toutes tes erreurs, avec le risque d'en oublier
Un petit exemple pour illustrer mon propos
Le fichier joint ne contient que ton USF Checklist
Les macros des modules 2 et 3 de ton fichier sont remplacées par le code du bouton de fermeture
j'ai juste fait un exporter sur le moduke et un importer dans VBA du nouveau classeur
À tout hazard, j'ai corrigé des erreurs de code : Certaines de tes macrosi Afficher/masquer n'avaient pas la même référence de ligne
la vérification sur ma macro se fait en 2 minutes
Attention : je ne dis pas que le code est bon, mais qu'il semble l'être puisque j'ai une progression qui correspond aux ensembles de la feuille de calcul
ça te permettra de te faire une idée de comment je conçois une "structure" de code
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.