Problème de code macro

  • Initiateur de la discussion Initiateur de la discussion kevinch
  • Date de début Date de début

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 !

K

kevinch

Guest
Bonsoir le forum

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.

Pour mieux comprendre, voici mon fichier:http://cjoint.com/?jlsKjzdsf3

Le code qui ne marche pas se trouve dans le module 2, à partir de Sub valeurs_checkbox2.

Est ce que quelqu'un peut me dire là où se trouverait mon erreur?

Merci d'avance.
 
Re : Problème de code macro

kevinch à dit:
Bonsoir le forum

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.

Pour mieux comprendre, voici mon fichier:http://cjoint.com/?jlsKjzdsf3

Le code qui ne marche pas se trouve dans le module 2, à partir de Sub valeurs_checkbox2.

Est ce que quelqu'un peut me dire là où se trouverait mon erreur?

Merci d'avance.
Salut

Le code qui ne marche pas se trouve dans le module 2, à partir de Sub valeurs_checkbox2

La dernière macro du module 2 est : Sub Masquer_taches_i
pas de sub valeurs_checkbox2()

A+
 
Re : Problème de code macro

Salut Gorfael

En effet, je me suis trompé, le code qui ne marche pas se trouve dans le code du formulaire checklist, et fait référence aux macros du module 2.

Mais je ne vois pas où ça bloque....

Aurais-tu une idée?

Merci
 
Re : Problème de code macro

kevinch à dit:
Salut Gorfael

En effet, je me suis trompé, le code qui ne marche pas se trouve dans le code du formulaire checklist, et fait référence aux macros du module 2.

Mais je ne vois pas où ça bloque....

Aurais-tu une idée?

Merci
Re...
je trouve bien la macro
Sub valeurs_checkbox2()

If CheckBox2 = True Then
Masquer_pvl_i
Else
Afficher_pvl_i
End If

End Sub
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

Sheets("macros_i").Select
Rows("4:9").Select
Selection.EntireRow.Hidden = False
Cells(5, 4).Select

End Sub

Déjà, moi j'aurais plutot fait :
Code:
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

A+
 
Re : Problème de code macro

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

A+
 

Pièces jointes

- 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.

Discussions similaires

  • Question Question
Microsoft 365 Problème Code VBA
Réponses
9
Affichages
561
Retour