Bonjour à tous,
Je ne connais pas la difference entre procedure et module, ce qui me conduit
à l'échec suivant.
J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien,
dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par
des fonctions Call.
Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre
sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call.
Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de
compilation, variable ou procédure attendue et non un module.
Si je recopie mes macros directement dans le bouton (sans Call) je pense
que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un
userform avec un multipage (donc longueur de code ++++).
Ai-je une autre solution?
Merci de votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ange Ounis
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
Je ne connais pas la difference entre procedure et module
Sub essai()
MsgBox "salut"
End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même
chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module
de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click()
essai
End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est
exécutée en réponse à un événement. C'est par leur intermédiaire que le
programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA
le permettent également).
----------
Ange Ounis
----------
Bonjour à tous,
Je ne connais pas la difference entre procedure et module, ce qui me conduit
à l'échec suivant.
J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien,
dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par
des fonctions Call.
Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre
sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call.
Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de
compilation, variable ou procédure attendue et non un module.
Si je recopie mes macros directement dans le bouton (sans Call) je pense
que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un
userform avec un multipage (donc longueur de code ++++).
Ai-je une autre solution?
Merci de votre aide.
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
ManBas
Bonjour Ange Ounis, Merci de ta réponse.
Sub essai() Msgbox "salut" Call Macro1 end sub
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" a écrit dans le message de news:
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
Bonjour Ange Ounis,
Merci de ta réponse.
Sub essai()
Msgbox "salut"
Call Macro1
end sub
...plante sur Call Macro1.
Macro1 est un module constitué par exemple avec:
Sub Macro1()
msgbox "hello"
Call Macro2
end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" <nospam@nospam> a écrit dans le message de news:
uG18GYbWGHA.4148@TK2MSFTNGP03.phx.gbl...
Je ne connais pas la difference entre procedure et module
Sub essai()
MsgBox "salut"
End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la
même chose). Tu les écris dans un module (ordinaire si je lis bien ta
question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le
module de code de cet Userform tu peux exécuter cette procédure avec ce
genre de code :
Private Sub CommandButton1_Click()
essai
End Sub
Ces 3 lignes constituent également une procédure, dite événementielle :
elle est exécutée en réponse à un événement. C'est par leur intermédiaire
que le programmeur contrôle le comportement d'Excel (les fonctions
personnalisées VBA le permettent également).
----------
Ange Ounis
----------
Bonjour à tous,
Je ne connais pas la difference entre procedure et module, ce qui me
conduit à l'échec suivant.
J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés
bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux
autres par des fonctions Call.
Pour contraindre l'utilisateur à passer par ces codes, je voulais les
mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la
fonction Call.
Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de
compilation, variable ou procédure attendue et non un module.
Si je recopie mes macros directement dans le bouton (sans Call) je pense
que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un
userform avec un multipage (donc longueur de code ++++).
Ai-je une autre solution?
Merci de votre aide.
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" a écrit dans le message de news:
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
jps
bonjour ManBas ceci marche très bien chez moi
Sub Macro1() Range("A1") = "tutu" Call Macro2 End Sub
Sub Macro2() MsgBox "hello" Range("B1").Select ActiveCell.FormulaR1C1 = "tata"
End Sub Sub essai() MsgBox "salut" Call Macro1 End Sub
pas chez toi? jps
"ManBas" a écrit dans le message de news:
Bonjour Ange Ounis, Merci de ta réponse.
Sub essai() Msgbox "salut" Call Macro1 end sub
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" a écrit dans le message de news:
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
bonjour ManBas
ceci marche très bien chez moi
Sub Macro1()
Range("A1") = "tutu"
Call Macro2
End Sub
Sub Macro2()
MsgBox "hello"
Range("B1").Select
ActiveCell.FormulaR1C1 = "tata"
End Sub
Sub essai()
MsgBox "salut"
Call Macro1
End Sub
pas chez toi?
jps
"ManBas" <nonospam-j.ragni@wanadoo.fr> a écrit dans le message de news:
emrJvbfWGHA.2376@TK2MSFTNGP03.phx.gbl...
Bonjour Ange Ounis,
Merci de ta réponse.
Sub essai()
Msgbox "salut"
Call Macro1
end sub
...plante sur Call Macro1.
Macro1 est un module constitué par exemple avec:
Sub Macro1()
msgbox "hello"
Call Macro2
end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" <nospam@nospam> a écrit dans le message de news:
uG18GYbWGHA.4148@TK2MSFTNGP03.phx.gbl...
Je ne connais pas la difference entre procedure et module
Sub essai()
MsgBox "salut"
End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est
la même chose). Tu les écris dans un module (ordinaire si je lis bien ta
question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le
module de code de cet Userform tu peux exécuter cette procédure avec ce
genre de code :
Private Sub CommandButton1_Click()
essai
End Sub
Ces 3 lignes constituent également une procédure, dite événementielle :
elle est exécutée en réponse à un événement. C'est par leur intermédiaire
que le programmeur contrôle le comportement d'Excel (les fonctions
personnalisées VBA le permettent également).
----------
Ange Ounis
----------
Bonjour à tous,
Je ne connais pas la difference entre procedure et module, ce qui me
conduit à l'échec suivant.
J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés
bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux
autres par des fonctions Call.
Pour contraindre l'utilisateur à passer par ces codes, je voulais les
mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la
fonction Call.
Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de
compilation, variable ou procédure attendue et non un module.
Si je recopie mes macros directement dans le bouton (sans Call) je
pense que ça va marcher. Mais je souhaitais "aérer" le code car il
s'agit d'un userform avec un multipage (donc longueur de code ++++).
Ai-je une autre solution?
Merci de votre aide.
Sub Macro1() Range("A1") = "tutu" Call Macro2 End Sub
Sub Macro2() MsgBox "hello" Range("B1").Select ActiveCell.FormulaR1C1 = "tata"
End Sub Sub essai() MsgBox "salut" Call Macro1 End Sub
pas chez toi? jps
"ManBas" a écrit dans le message de news:
Bonjour Ange Ounis, Merci de ta réponse.
Sub essai() Msgbox "salut" Call Macro1 end sub
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
"Ange Ounis" a écrit dans le message de news:
Je ne connais pas la difference entre procedure et module
Sub essai() MsgBox "salut" End Sub
Ces 3 lignes constituent une procédure (procédure, macro, routine c'est la même chose). Tu les écris dans un module (ordinaire si je lis bien ta question).
Si ton bouton Quitter est un CommandButton posé sur un Userform, dans le module de code de cet Userform tu peux exécuter cette procédure avec ce genre de code :
Private Sub CommandButton1_Click() essai End Sub
Ces 3 lignes constituent également une procédure, dite événementielle : elle est exécutée en réponse à un événement. C'est par leur intermédiaire que le programmeur contrôle le comportement d'Excel (les fonctions personnalisées VBA le permettent également).
---------- Ange Ounis ----------
Bonjour à tous, Je ne connais pas la difference entre procedure et module, ce qui me conduit à l'échec suivant. J'ai écris des macros (d'une longueur certaine), qui fonctionnent trés bien, dans des modules. Elles sont elles-mêmes imbriquées les unes aux autres par des fonctions Call. Pour contraindre l'utilisateur à passer par ces codes, je voulais les mettre sur un bouton "quitter" d'un formulaire "sans croix", avec la fonction Call. Et là (bien sûr pour vous qui me lisez) ça ne marche pas: erreur de compilation, variable ou procédure attendue et non un module. Si je recopie mes macros directement dans le bouton (sans Call) je pense que ça va marcher. Mais je souhaitais "aérer" le code car il s'agit d'un userform avec un multipage (donc longueur de code ++++). Ai-je une autre solution? Merci de votre aide.
Eric
Bonjour,
Apparemment les modules portent les même noms que les procédures, ce qui me semble être à l'origine du plantage. Renommer les modules par ex comme modMacro1,... et ça devrait marcher.
Sub essai() Msgbox "salut" Call Macro1 end sub
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
-- A+ Eric http://www.mpfa.info/
Bonjour,
Apparemment les modules portent les même noms que les procédures, ce qui
me semble être à l'origine du plantage.
Renommer les modules par ex comme modMacro1,... et ça devrait marcher.
Sub essai()
Msgbox "salut"
Call Macro1
end sub
...plante sur Call Macro1.
Macro1 est un module constitué par exemple avec:
Sub Macro1()
msgbox "hello"
Call Macro2
end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.
Apparemment les modules portent les même noms que les procédures, ce qui me semble être à l'origine du plantage. Renommer les modules par ex comme modMacro1,... et ça devrait marcher.
Sub essai() Msgbox "salut" Call Macro1 end sub
...plante sur Call Macro1. Macro1 est un module constitué par exemple avec:
Sub Macro1() msgbox "hello" Call Macro2 end sub
Macro1 et Macro2 sont des modules qui fonctionnent bien.