Bonjour
Ce pb semble nouveau (suite à màj XP ?)
J'ai une Sub Toto() dans le projet "Classeur A"
Ce classeur est ouvert.
Quand je lance l'exécution de la procédure Zaza() (d'un classeur B)
dans laquelle figure l'instruction : "Call Toto"
une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références"
pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils
de la page Visual Basic ? (dans laquelle je ne trouve pas la référence
du projet ("Classeur A") qui contient la procédure "Toto"
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
FS
Bonjour,
Il est probable que dans cette boite de dialogue Références l'une d'entre elles soit signalée comme Manquante. Si oui, décoche-la et réessaye d'exécuter ton code.
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
LANIMAL a écrit :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"
Bref, je suis perdu ! ... à l'aide ! Merci
Bonjour,
Il est probable que dans cette boite de dialogue Références l'une
d'entre elles soit signalée comme Manquante. Si oui, décoche-la et
réessaye d'exécuter ton code.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
LANIMAL a écrit :
Bonjour
Ce pb semble nouveau (suite à màj XP ?)
J'ai une Sub Toto() dans le projet "Classeur A"
Ce classeur est ouvert.
Quand je lance l'exécution de la procédure Zaza() (d'un classeur B)
dans laquelle figure l'instruction : "Call Toto"
une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références"
pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils
de la page Visual Basic ? (dans laquelle je ne trouve pas la référence
du projet ("Classeur A") qui contient la procédure "Toto"
Il est probable que dans cette boite de dialogue Références l'une d'entre elles soit signalée comme Manquante. Si oui, décoche-la et réessaye d'exécuter ton code.
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
LANIMAL a écrit :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"
Bref, je suis perdu ! ... à l'aide ! Merci
michdenis
Bonjour,
Pour appeler et exécuter une macro d'un autre classeur ouvert emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!test1" Application.Run LaMacro
Si la procédure est dans un module de feuille, tu dois ajouter le nom du module devant le nom de la procédure
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1" Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro en référence a ton fichier de base. Étape :
Pour le fichier que tu veux passer en référence : Tu ouvres la fenêtre de l'éditeur de code, Tu sélectionnes le projetVBA de ce classeur Dans la fenêtre des propriétés, s'afficher la propriété Name = VBAProject Modifie VBAProject par un nom de ton cru et assure toi que ce nom n'existe pas en doublon. Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial. A ) dans la fenêtre VBA, - sélectionne le projetvba de ton classeur - barre des menus / outils / référence / et utilises le bouton parcourir et remonte dans l'arborescence de l'explorateur Windows jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures du classeur passé en référence seulement par leur nom.
"LANIMAL" a écrit dans le message de groupe de discussion :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"
Bref, je suis perdu ! ... à l'aide ! Merci
Bonjour,
Pour appeler et exécuter une macro d'un autre classeur ouvert
emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module
standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String
Dim NomDuClasseur
NomDuClasseur = "Mon Classeur.xls"
LaMacro = "'" & NomDuClasseur & "'!test1"
Application.Run LaMacro
Si la procédure est dans un module de feuille,
tu dois ajouter le nom du module devant le nom
de la procédure
Dim LaMacro As String
Dim NomDuClasseur
NomDuClasseur = "Mon Classeur.xls"
LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1"
Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro
en référence a ton fichier de base.
Étape :
Pour le fichier que tu veux passer en référence :
Tu ouvres la fenêtre de l'éditeur de code,
Tu sélectionnes le projetVBA de ce classeur
Dans la fenêtre des propriétés, s'afficher la propriété
Name = VBAProject
Modifie VBAProject par un nom de ton cru et assure toi
que ce nom n'existe pas en doublon.
Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial.
A ) dans la fenêtre VBA,
- sélectionne le projetvba de ton classeur
- barre des menus / outils / référence / et utilises le bouton
parcourir et remonte dans l'arborescence de l'explorateur Windows
jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus
il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son
vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher
est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures
du classeur passé en référence seulement par leur nom.
"LANIMAL" <noreply@xxx.yy> a écrit dans le message de groupe de discussion :
uhBphqDQKHA.220@TK2MSFTNGP02.phx.gbl...
Bonjour
Ce pb semble nouveau (suite à màj XP ?)
J'ai une Sub Toto() dans le projet "Classeur A"
Ce classeur est ouvert.
Quand je lance l'exécution de la procédure Zaza() (d'un classeur B)
dans laquelle figure l'instruction : "Call Toto"
une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références"
pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils
de la page Visual Basic ? (dans laquelle je ne trouve pas la référence
du projet ("Classeur A") qui contient la procédure "Toto"
Pour appeler et exécuter une macro d'un autre classeur ouvert emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!test1" Application.Run LaMacro
Si la procédure est dans un module de feuille, tu dois ajouter le nom du module devant le nom de la procédure
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1" Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro en référence a ton fichier de base. Étape :
Pour le fichier que tu veux passer en référence : Tu ouvres la fenêtre de l'éditeur de code, Tu sélectionnes le projetVBA de ce classeur Dans la fenêtre des propriétés, s'afficher la propriété Name = VBAProject Modifie VBAProject par un nom de ton cru et assure toi que ce nom n'existe pas en doublon. Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial. A ) dans la fenêtre VBA, - sélectionne le projetvba de ton classeur - barre des menus / outils / référence / et utilises le bouton parcourir et remonte dans l'arborescence de l'explorateur Windows jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures du classeur passé en référence seulement par leur nom.
"LANIMAL" a écrit dans le message de groupe de discussion :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"
Bref, je suis perdu ! ... à l'aide ! Merci
LANIMAL
Merci... encore une fois michdenis ! C'est la première fois que je rencontre ce pb, et pourtant j'ai très souvent appelé une procédure depuis un autre projet. Effectivement le nom du projet était absent de la liste-références, alors que les nom des autres projets s'y sont inscrits sans que je n'aie jamais rien fait.
Le simple fait de renommer le classeur-référent l'a inscrit automatiquement dans la liste. Tout baigne ! Merci (j'ai mrd 3 heures avant de lancer mon SOS ! ! ! !)
michdenis a écrit :
Bonjour,
Pour appeler et exécuter une macro d'un autre classeur ouvert emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!test1" Application.Run LaMacro
Si la procédure est dans un module de feuille, tu dois ajouter le nom du module devant le nom de la procédure
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1" Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro en référence a ton fichier de base. Étape :
Pour le fichier que tu veux passer en référence : Tu ouvres la fenêtre de l'éditeur de code, Tu sélectionnes le projetVBA de ce classeur Dans la fenêtre des propriétés, s'afficher la propriété Name = VBAProject Modifie VBAProject par un nom de ton cru et assure toi que ce nom n'existe pas en doublon. Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial. A ) dans la fenêtre VBA, - sélectionne le projetvba de ton classeur - barre des menus / outils / référence / et utilises le bouton parcourir et remonte dans l'arborescence de l'explorateur Windows jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures du classeur passé en référence seulement par leur nom.
"LANIMAL" a écrit dans le message de groupe de discussion :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"
Bref, je suis perdu ! ... à l'aide ! Merci
Merci... encore une fois michdenis !
C'est la première fois que je rencontre ce pb, et pourtant
j'ai très souvent appelé une procédure depuis un autre projet.
Effectivement le nom du projet était absent de la liste-références,
alors que les nom des autres projets s'y sont inscrits sans que je n'aie
jamais rien fait.
Le simple fait de renommer le classeur-référent l'a inscrit
automatiquement dans la liste.
Tout baigne ! Merci (j'ai mrd 3 heures avant de lancer mon SOS ! ! ! !)
michdenis a écrit :
Bonjour,
Pour appeler et exécuter une macro d'un autre classeur ouvert
emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module
standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String
Dim NomDuClasseur
NomDuClasseur = "Mon Classeur.xls"
LaMacro = "'" & NomDuClasseur & "'!test1"
Application.Run LaMacro
Si la procédure est dans un module de feuille,
tu dois ajouter le nom du module devant le nom
de la procédure
Dim LaMacro As String
Dim NomDuClasseur
NomDuClasseur = "Mon Classeur.xls"
LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1"
Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro
en référence a ton fichier de base.
Étape :
Pour le fichier que tu veux passer en référence :
Tu ouvres la fenêtre de l'éditeur de code,
Tu sélectionnes le projetVBA de ce classeur
Dans la fenêtre des propriétés, s'afficher la propriété
Name = VBAProject
Modifie VBAProject par un nom de ton cru et assure toi
que ce nom n'existe pas en doublon.
Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial.
A ) dans la fenêtre VBA,
- sélectionne le projetvba de ton classeur
- barre des menus / outils / référence / et utilises le bouton
parcourir et remonte dans l'arborescence de l'explorateur Windows
jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus
il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son
vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher
est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures
du classeur passé en référence seulement par leur nom.
"LANIMAL" <noreply@xxx.yy> a écrit dans le message de groupe de discussion :
uhBphqDQKHA.220@TK2MSFTNGP02.phx.gbl...
Bonjour
Ce pb semble nouveau (suite à màj XP ?)
J'ai une Sub Toto() dans le projet "Classeur A"
Ce classeur est ouvert.
Quand je lance l'exécution de la procédure Zaza() (d'un classeur B)
dans laquelle figure l'instruction : "Call Toto"
une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références"
pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils
de la page Visual Basic ? (dans laquelle je ne trouve pas la référence
du projet ("Classeur A") qui contient la procédure "Toto"
Merci... encore une fois michdenis ! C'est la première fois que je rencontre ce pb, et pourtant j'ai très souvent appelé une procédure depuis un autre projet. Effectivement le nom du projet était absent de la liste-références, alors que les nom des autres projets s'y sont inscrits sans que je n'aie jamais rien fait.
Le simple fait de renommer le classeur-référent l'a inscrit automatiquement dans la liste. Tout baigne ! Merci (j'ai mrd 3 heures avant de lancer mon SOS ! ! ! !)
michdenis a écrit :
Bonjour,
Pour appeler et exécuter une macro d'un autre classeur ouvert emploie ceci :
Il est présumé que la macro Test1 est écrite dans un module standard dans le classeur "Mon Classeur.xls".
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!test1" Application.Run LaMacro
Si la procédure est dans un module de feuille, tu dois ajouter le nom du module devant le nom de la procédure
Dim LaMacro As String Dim NomDuClasseur NomDuClasseur = "Mon Classeur.xls" LaMacro = "'" & NomDuClasseur & "'!Feuil1.test1" Application.Run LaMacro
L'autre alternative, c'est de passer le fichier où la macro en référence a ton fichier de base. Étape :
Pour le fichier que tu veux passer en référence : Tu ouvres la fenêtre de l'éditeur de code, Tu sélectionnes le projetVBA de ce classeur Dans la fenêtre des propriétés, s'afficher la propriété Name = VBAProject Modifie VBAProject par un nom de ton cru et assure toi que ce nom n'existe pas en doublon. Tu enregistre ton classeur.
Maintenant pour ajouter ce classeur en référence à ton classeur initial. A ) dans la fenêtre VBA, - sélectionne le projetvba de ton classeur - barre des menus / outils / référence / et utilises le bouton parcourir et remonte dans l'arborescence de l'explorateur Windows jusqu'au fichier Excel que tu veux ajouter...en double-cliquant dessus il va s'ajouter à la liste déjà présente, et le nom que tu as saisi pour son vbaprojet va apparaitre dans la liste. Tu t'assure que la case à cocher est vraiment cochée avant de fermer la fenêtre.
B ) Ceci était fait, tu pourras appeler toutes les fonctions ou procédures du classeur passé en référence seulement par leur nom.
"LANIMAL" a écrit dans le message de groupe de discussion :
Bonjour Ce pb semble nouveau (suite à màj XP ?) J'ai une Sub Toto() dans le projet "Classeur A" Ce classeur est ouvert. Quand je lance l'exécution de la procédure Zaza() (d'un classeur B) dans laquelle figure l'instruction : "Call Toto" une alerte VBA me signale : "Sub non définie"
L'aide me dit d'aller dans la boîte de dialogue "Références" pour cocher le nom du projet qui contient la Sub. ...
Est-ce la rubrique "Référence" qui apparaît ans le menu Outils de la page Visual Basic ? (dans laquelle je ne trouve pas la référence du projet ("Classeur A") qui contient la procédure "Toto"