VBA private - public - Err438
Dernière réponse : dans Programmation
Bonjour à Tous,
J'ai crée un petit fichier avec plusieurs macros.
Ces macros sont associées à des boutons de commande qui permettent de les lancer
Les boutons de commande sont placés dans une Worksheet et non pas dans un Userform
Dans la structure cela donne ça:
Par souci de clareté, j'ai copié chacune de mes macro dans un module et je les appelle avec
une fonction Call de la maniere suivante
Dans module1:
Cette manipulation ne marche pas. J'ai le message d'erreur suivant:
Erreur438 : Propriété ou méthode non géréé par cet objet
Je crois que le problème est du à la propriété PRIVATE
mais je ne sais pas comment contourner le problème
Merci d'avance pour votre aide
J'ai crée un petit fichier avec plusieurs macros.
Ces macros sont associées à des boutons de commande qui permettent de les lancer
Les boutons de commande sont placés dans une Worksheet et non pas dans un Userform
Dans la structure cela donne ça:
Private sub Commandbutton1()
code...macro1
End Sub
Private sub Commandbutton2()
code...macro2
End Sub
Private sub Commandbutton3()
code...macro3
End Sub
Par souci de clareté, j'ai copié chacune de mes macro dans un module et je les appelle avec
une fonction Call de la maniere suivante
Dans module1:
Sub macro1
code
End Sub
Cette manipulation ne marche pas. J'ai le message d'erreur suivant:
Erreur438 : Propriété ou méthode non géréé par cet objet
Je crois que le problème est du à la propriété PRIVATE
mais je ne sais pas comment contourner le problème
Merci d'avance pour votre aide
Autres pages sur : vba private public err438
Lassé par la pub ? Créez un compte
J'ai résolu mon problème (J'avais changé le nom d'un OptionButton sans changer le code...erreur stupide je m'en excuse)
En revanche j'ai une autre question toujours liées aux propriétés Private -Public et variables Static
Ma macro contient une sous-macro que j'appelle avec la fonction Call.
Je souhaite récupérer 3 variables à partir de cette sous-macro, mais les valeurs ne sont pas concervées après l'éxécution de la sous macro.
J'ai pourtant utilisée l'instruction Static???
Cela donne quelque chose comme:
En revanche j'ai une autre question toujours liées aux propriétés Private -Public et variables Static
Ma macro contient une sous-macro que j'appelle avec la fonction Call.
Je souhaite récupérer 3 variables à partir de cette sous-macro, mais les valeurs ne sont pas concervées après l'éxécution de la sous macro.
J'ai pourtant utilisée l'instruction Static???
Cela donne quelque chose comme:
Sub Macro_principale
Static var1,var2,var3
...
Call Macro_secondaire
...
End Sub
>>Désolé pour mon manque de connaissance
Ben t'es quand même là pour poser des questions. Alors ne soit pas désolé.
Ton code dans macro_secondaire ne fait pas varié var1, var2 ni var3 mais à la sortie, ces variables sont modifiées
Bizarre.
Au lieu de Static, mets un simple Dim dans Principale. Vire le CALL et dis-nous si ça marche.
Sinon, propose nous un exemple simple de code qui reprend ton problème mais qui ne marche pas.
Ben t'es quand même là pour poser des questions. Alors ne soit pas désolé.
Ton code dans macro_secondaire ne fait pas varié var1, var2 ni var3 mais à la sortie, ces variables sont modifiées
Bizarre.Au lieu de Static, mets un simple Dim dans Principale. Vire le CALL et dis-nous si ça marche.
Sinon, propose nous un exemple simple de code qui reprend ton problème mais qui ne marche pas.
Ton code dans macro_secondaire ne fait pas varié var1, var2 ni var3 mais à la sortie, ces variables sont modifiées
Bizarre.
=>Non, c justement ma macro secondaire, qui initialise Var1,2,3
Une fois, la macro secondaire terminée var1,2,3 sont systématiquement rénitialisée quoique je fasse.
Je suis revenu à Dim au lieu de private
J'ai enlevé le Call
Le problème demeure et persiste
Cette macro secondaire est appelée plusieurs fois dans mon programme par la suite.Je souhaite utiliser une macro secondaire pour alléger la macro principale.
Je peux me débrouiller sans, mais c de la curiosité
Bizarre. =>Non, c justement ma macro secondaire, qui initialise Var1,2,3
Une fois, la macro secondaire terminée var1,2,3 sont systématiquement rénitialisée quoique je fasse.
Je suis revenu à Dim au lieu de private
J'ai enlevé le Call
Le problème demeure et persiste
Cette macro secondaire est appelée plusieurs fois dans mon programme par la suite.Je souhaite utiliser une macro secondaire pour alléger la macro principale.
Je peux me débrouiller sans, mais c de la curiosité
Je viens de comprendre mon erreur en relisant certains tutoriaux. C'est ce que je soupçonnais depuis le début, une procédure Sub ne renvoit pas de valeur....
En temps normal, j'aurais utilisé une procédure function mais comme j'avais trois Variables Var1,2,3 j'ai voulu faire le malin
Et comme on dit : Qui fait le malin tombe dans le ravin
En temps normal, j'aurais utilisé une procédure function mais comme j'avais trois Variables Var1,2,3 j'ai voulu faire le malin
Et comme on dit : Qui fait le malin tombe dans le ravin
Lassé par la pub ? Créez un compte
)