Condition if sur un sous formulaire
Fermé
unseen
Messages postés
56
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
25 avril 2013
-
25 avril 2013 à 20:27
Tessel75 - 27 avril 2013 à 13:18
Tessel75 - 27 avril 2013 à 13:18
A voir également:
- Condition if sur un sous formulaire
- Excel cellule couleur si condition texte - Guide
- Formulaire de réclamation facebook - Guide
- If exist ✓ - Forum Autoit / batch
- Formulaire instagram compte suspendu - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum HTML
1 réponse
Bonjour,
Il ne sert à rien de poster des lignes et des lignes de code si tu ne dis pas toi-même la quelle accroche. Et de toutes façons quand bien même toutes seraient bien écrites, il suffit d'une seule pour que le déroulé du code se bloque.
Tu écris: "ya un débogeage du genre "erreur d'éxécution 424". Espères-tu vraiment qu'un de tes interlocuteurs connaisse par coeur la liste de toutes les erreurs signalées par VBA et te réponde: "c'est ceci ou c'est cela"
Il te faut aller dans VBA et avec l'iciône "Pas à pas" regarder comment VBA déroule ton code, quelle variable il calcule, et enfin là où il s'arrête.
A lire ton code toutes les lignes se ressemblent à la valeur prise par les variable près. Il ne sert donc à rien de mettre 4 fois la même syntaxe si celle-ci est fausse dès la 1ère ligne.
Et aussi tu écris plusieurs fois la condition "IF", il te faut écrire quand les conditions sont alternatives "If ... then ..., elseif .... then ... , else ... end if. Cela te gagnera du temps et de la compréhension pour toi-même.
Ayant peu l'habitude d'utiliser les "Private sub" mais plutôt les modules de classe "Public", je connais mal l'utilisation du "Me", néanmoins je peux te dire que lorsque tu écris:
"
Si toi tu sais que "C" et "NATURE" sont le noms de tes contrôles, VBA ne le sais pas et il faut le lui dire, soit par un "Me" soit par un "ScreenActiveObject", soit par une autre écriture qui lui indique qu'il s'agit du nom d'un contrôle du formulaire ou du sous-formulaire sur lequel tu es en train de travailler. L'écriture est alors du type:
Commence par ça, et le reste devrait suivre parce que toutes les lignes sont identiques.
Bonne suite.
Il ne sert à rien de poster des lignes et des lignes de code si tu ne dis pas toi-même la quelle accroche. Et de toutes façons quand bien même toutes seraient bien écrites, il suffit d'une seule pour que le déroulé du code se bloque.
Tu écris: "ya un débogeage du genre "erreur d'éxécution 424". Espères-tu vraiment qu'un de tes interlocuteurs connaisse par coeur la liste de toutes les erreurs signalées par VBA et te réponde: "c'est ceci ou c'est cela"
Il te faut aller dans VBA et avec l'iciône "Pas à pas" regarder comment VBA déroule ton code, quelle variable il calcule, et enfin là où il s'arrête.
A lire ton code toutes les lignes se ressemblent à la valeur prise par les variable près. Il ne sert donc à rien de mettre 4 fois la même syntaxe si celle-ci est fausse dès la 1ère ligne.
Et aussi tu écris plusieurs fois la condition "IF", il te faut écrire quand les conditions sont alternatives "If ... then ..., elseif .... then ... , else ... end if. Cela te gagnera du temps et de la compréhension pour toi-même.
Ayant peu l'habitude d'utiliser les "Private sub" mais plutôt les modules de classe "Public", je connais mal l'utilisation du "Me", néanmoins je peux te dire que lorsque tu écris:
"
If C = "PRODUITS DE CONSERVES" Then NATURE.Locked = True ..."
Si toi tu sais que "C" et "NATURE" sont le noms de tes contrôles, VBA ne le sais pas et il faut le lui dire, soit par un "Me" soit par un "ScreenActiveObject", soit par une autre écriture qui lui indique qu'il s'agit du nom d'un contrôle du formulaire ou du sous-formulaire sur lequel tu es en train de travailler. L'écriture est alors du type:
Me!Nature.Locked = True
Commence par ça, et le reste devrait suivre parce que toutes les lignes sont identiques.
Bonne suite.