Bonjour,
J'abonderais bien dans le sens de DanielCo, en proposant un point
d'arrêt sur l'instruction Call, et un sur la première instruction
de la
fonction appelée.
De plus une fois arrivé sur celle-ci, je propose de cliquer sur le
bouton qui affiche la pile d'appel, pour voir d'où on vient.
Si on a un doute sur la disponibilité du classeur où se trouve la
mac ro,
ne serait-ce pas préférable, plutôt que de l'inscrire dans
les
références, de l'ouvrir en tant que classeur, et d'appeler la
macro e n
stipulant explicitement son emplacement dans le classeur ?
___________________________________________
raphael-diaz a écrit, le 07/02/2011 10:43 :Bonjour, J'ai posé ce code dans un onglet(classeur) actif d'un docume
nt :
Private Sub Worksheet_Deactivate()
If Not ActiveSheet.Range("marqueur") Is Nothing Then
If ActiveSheet.Range("marqueur") = "O" Then
MsgBox "Fonction appelée"
Call FonctionActive
End If
End If
End Sub
Mon but est d'activer la macro FonctionActive() seulement quand la cell ule
avec
le nom défini "marqueur" est égale à
"O". Cependant quand j'execu te le code, le
programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
execute dans tous les cas et qu'elle que soit la valeur de marqueur la macro
FonctionActive comme si Call ne prenait pas en considération la condi
tion If...
Pour info la macro FonctionActive est dans un autre fichier lié au mi
en grace au
référence (Outils->références).
Bonjour,
J'abonderais bien dans le sens de DanielCo, en proposant un point
d'arrêt sur l'instruction Call, et un sur la première instruction
de la
fonction appelée.
De plus une fois arrivé sur celle-ci, je propose de cliquer sur le
bouton qui affiche la pile d'appel, pour voir d'où on vient.
Si on a un doute sur la disponibilité du classeur où se trouve la
mac ro,
ne serait-ce pas préférable, plutôt que de l'inscrire dans
les
références, de l'ouvrir en tant que classeur, et d'appeler la
macro e n
stipulant explicitement son emplacement dans le classeur ?
___________________________________________
raphael-diaz a écrit, le 07/02/2011 10:43 :
Bonjour, J'ai posé ce code dans un onglet(classeur) actif d'un docume
nt :
Private Sub Worksheet_Deactivate()
If Not ActiveSheet.Range("marqueur") Is Nothing Then
If ActiveSheet.Range("marqueur") = "O" Then
MsgBox "Fonction appelée"
Call FonctionActive
End If
End If
End Sub
Mon but est d'activer la macro FonctionActive() seulement quand la cell ule
avec
le nom défini "marqueur" est égale à
"O". Cependant quand j'execu te le code, le
programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
execute dans tous les cas et qu'elle que soit la valeur de marqueur la macro
FonctionActive comme si Call ne prenait pas en considération la condi
tion If...
Pour info la macro FonctionActive est dans un autre fichier lié au mi
en grace au
référence (Outils->références).
Bonjour,
J'abonderais bien dans le sens de DanielCo, en proposant un point
d'arrêt sur l'instruction Call, et un sur la première instruction
de la
fonction appelée.
De plus une fois arrivé sur celle-ci, je propose de cliquer sur le
bouton qui affiche la pile d'appel, pour voir d'où on vient.
Si on a un doute sur la disponibilité du classeur où se trouve la
mac ro,
ne serait-ce pas préférable, plutôt que de l'inscrire dans
les
références, de l'ouvrir en tant que classeur, et d'appeler la
macro e n
stipulant explicitement son emplacement dans le classeur ?
___________________________________________
raphael-diaz a écrit, le 07/02/2011 10:43 :Bonjour, J'ai posé ce code dans un onglet(classeur) actif d'un docume
nt :
Private Sub Worksheet_Deactivate()
If Not ActiveSheet.Range("marqueur") Is Nothing Then
If ActiveSheet.Range("marqueur") = "O" Then
MsgBox "Fonction appelée"
Call FonctionActive
End If
End If
End Sub
Mon but est d'activer la macro FonctionActive() seulement quand la cell ule
avec
le nom défini "marqueur" est égale à
"O". Cependant quand j'execu te le code, le
programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
execute dans tous les cas et qu'elle que soit la valeur de marqueur la macro
FonctionActive comme si Call ne prenait pas en considération la condi
tion If...
Pour info la macro FonctionActive est dans un autre fichier lié au mi
en grace au
référence (Outils->références).
Gloops a �crit le 09/02/2011 � 10h50 :
> Bonjour,
>
> J'abonderais bien dans le sens de DanielCo, en proposant un point
> d'arr�t sur l'instruction Call, et un sur la premi�re i nstruction
> de la
> fonction appel�e.
>
> De plus une fois arriv� sur celle-ci, je propose de cliquer sur le
> bouton qui affiche la pile d'appel, pour voir d'o� on vient.
>
> Si on a un doute sur la disponibilit� du classeur o� se trouve la
> mac ro,
> ne serait-ce pas pr�f�rable, plut�t que de l'in scrire dans
> les
> r�f�rences, de l'ouvrir en tant que classeur, et d'appe ler la
> macro e n
> stipulant explicitement son emplacement dans le classeur ?
>
> ___________________________________________
> raphael-diaz a �crit, le 07/02/2011 10:43 :
>> Bonjour, J'ai pos� ce code dans un onglet(classeur) actif d'un docume
>> nt :
>>
>> Private Sub Worksheet_Deactivate()
>> If Not ActiveSheet.Range("marqueur") Is Nothing Then
>> If ActiveSheet.Range("marqueur") = "O" Then
>> MsgBox "Fonction appel�e"
>> Call FonctionActive
>> End If
>> End If
>> End Sub
>>
>> Mon but est d'activer la macro FonctionActive() seulement quand la cel l ule
>> avec
>> le nom d�fini "marqueur" est �gale �
>> "O". Cependant quand j'execu te le code, le
>> programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
>> execute dans tous les cas et qu'elle que soit la valeur de marqueur la
macro
>> FonctionActive comme si Call ne prenait pas en consid�ration l a condi
>> tion If...
>> Pour info la macro FonctionActive est dans un autre fichier liï¿ ½ au mi
>> en grace au
>> r�f�rence (Outils->r�f�rences).
Merci pour votre aide. Alors j'ai test� avec le d�bugger avec des points
d'arr�t divers et on passe directement sur call sans passer par i f. Donc call et
appel� en 1er sans prendre en compte if... Je vais essayer de bie n pr�sent� le
probl�me :
SITUATION : Sur un worksheet de mon classeur (ThisWorkbook ou un autre),
j�utilise cette macro qui me permet de v�rifier la prï ¿½sence de la r�f�rence :
reference.xla et d�appeler le Call seulement si elle est prï¿ ½sente. Voil� le
programme :
CODE :
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien pr�sent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoft
OfficeOFFICE11XLSTARTreference.xla")
�fichier de r�f�rence
If Fichier <> "" Then 'le fichier existe
Call DeleteVersionItemsInPopup
Else 'le fichier n'existe pas
'MsgBox "Le fichier " & Fichier & " est inexistant"
Exit Sub
End If
End Sub
PROBLEME:
Cependant, � l�utilisation, quant la r�f� rence n�est pas pr�sente, le programme
appel directement le � call � et m�envoi ce messa ge d�erreur :
� Erreur de complilation : Sub ou Function non d�finie. �. Il ne prend pas en
compte ma condition�
Gloops a �crit le 09/02/2011 � 10h50 :
> Bonjour,
>
> J'abonderais bien dans le sens de DanielCo, en proposant un point
> d'arr�t sur l'instruction Call, et un sur la premi�re i nstruction
> de la
> fonction appel�e.
>
> De plus une fois arriv� sur celle-ci, je propose de cliquer sur le
> bouton qui affiche la pile d'appel, pour voir d'o� on vient.
>
> Si on a un doute sur la disponibilit� du classeur o� se trouve la
> mac ro,
> ne serait-ce pas pr�f�rable, plut�t que de l'in scrire dans
> les
> r�f�rences, de l'ouvrir en tant que classeur, et d'appe ler la
> macro e n
> stipulant explicitement son emplacement dans le classeur ?
>
> ___________________________________________
> raphael-diaz a �crit, le 07/02/2011 10:43 :
>> Bonjour, J'ai pos� ce code dans un onglet(classeur) actif d'un docume
>> nt :
>>
>> Private Sub Worksheet_Deactivate()
>> If Not ActiveSheet.Range("marqueur") Is Nothing Then
>> If ActiveSheet.Range("marqueur") = "O" Then
>> MsgBox "Fonction appel�e"
>> Call FonctionActive
>> End If
>> End If
>> End Sub
>>
>> Mon but est d'activer la macro FonctionActive() seulement quand la cel l ule
>> avec
>> le nom d�fini "marqueur" est �gale �
>> "O". Cependant quand j'execu te le code, le
>> programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
>> execute dans tous les cas et qu'elle que soit la valeur de marqueur la
macro
>> FonctionActive comme si Call ne prenait pas en consid�ration l a condi
>> tion If...
>> Pour info la macro FonctionActive est dans un autre fichier liï¿ ½ au mi
>> en grace au
>> r�f�rence (Outils->r�f�rences).
Merci pour votre aide. Alors j'ai test� avec le d�bugger avec des points
d'arr�t divers et on passe directement sur call sans passer par i f. Donc call et
appel� en 1er sans prendre en compte if... Je vais essayer de bie n pr�sent� le
probl�me :
SITUATION : Sur un worksheet de mon classeur (ThisWorkbook ou un autre),
j�utilise cette macro qui me permet de v�rifier la prï ¿½sence de la r�f�rence :
reference.xla et d�appeler le Call seulement si elle est prï¿ ½sente. Voil� le
programme :
CODE :
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien pr�sent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoft
OfficeOFFICE11XLSTARTreference.xla")
�fichier de r�f�rence
If Fichier <> "" Then 'le fichier existe
Call DeleteVersionItemsInPopup
Else 'le fichier n'existe pas
'MsgBox "Le fichier " & Fichier & " est inexistant"
Exit Sub
End If
End Sub
PROBLEME:
Cependant, � l�utilisation, quant la r�f� rence n�est pas pr�sente, le programme
appel directement le � call � et m�envoi ce messa ge d�erreur :
� Erreur de complilation : Sub ou Function non d�finie. �. Il ne prend pas en
compte ma condition�
Gloops a �crit le 09/02/2011 � 10h50 :
> Bonjour,
>
> J'abonderais bien dans le sens de DanielCo, en proposant un point
> d'arr�t sur l'instruction Call, et un sur la premi�re i nstruction
> de la
> fonction appel�e.
>
> De plus une fois arriv� sur celle-ci, je propose de cliquer sur le
> bouton qui affiche la pile d'appel, pour voir d'o� on vient.
>
> Si on a un doute sur la disponibilit� du classeur o� se trouve la
> mac ro,
> ne serait-ce pas pr�f�rable, plut�t que de l'in scrire dans
> les
> r�f�rences, de l'ouvrir en tant que classeur, et d'appe ler la
> macro e n
> stipulant explicitement son emplacement dans le classeur ?
>
> ___________________________________________
> raphael-diaz a �crit, le 07/02/2011 10:43 :
>> Bonjour, J'ai pos� ce code dans un onglet(classeur) actif d'un docume
>> nt :
>>
>> Private Sub Worksheet_Deactivate()
>> If Not ActiveSheet.Range("marqueur") Is Nothing Then
>> If ActiveSheet.Range("marqueur") = "O" Then
>> MsgBox "Fonction appel�e"
>> Call FonctionActive
>> End If
>> End If
>> End Sub
>>
>> Mon but est d'activer la macro FonctionActive() seulement quand la cel l ule
>> avec
>> le nom d�fini "marqueur" est �gale �
>> "O". Cependant quand j'execu te le code, le
>> programme m'affiche bien le MsgBox quand les conditions sont remplies m ais
>> execute dans tous les cas et qu'elle que soit la valeur de marqueur la
macro
>> FonctionActive comme si Call ne prenait pas en consid�ration l a condi
>> tion If...
>> Pour info la macro FonctionActive est dans un autre fichier liï¿ ½ au mi
>> en grace au
>> r�f�rence (Outils->r�f�rences).
Merci pour votre aide. Alors j'ai test� avec le d�bugger avec des points
d'arr�t divers et on passe directement sur call sans passer par i f. Donc call et
appel� en 1er sans prendre en compte if... Je vais essayer de bie n pr�sent� le
probl�me :
SITUATION : Sur un worksheet de mon classeur (ThisWorkbook ou un autre),
j�utilise cette macro qui me permet de v�rifier la prï ¿½sence de la r�f�rence :
reference.xla et d�appeler le Call seulement si elle est prï¿ ½sente. Voil� le
programme :
CODE :
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien pr�sent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoft
OfficeOFFICE11XLSTARTreference.xla")
�fichier de r�f�rence
If Fichier <> "" Then 'le fichier existe
Call DeleteVersionItemsInPopup
Else 'le fichier n'existe pas
'MsgBox "Le fichier " & Fichier & " est inexistant"
Exit Sub
End If
End Sub
PROBLEME:
Cependant, � l�utilisation, quant la r�f� rence n�est pas pr�sente, le programme
appel directement le � call � et m�envoi ce messa ge d�erreur :
� Erreur de complilation : Sub ou Function non d�finie. �. Il ne prend pas en
compte ma condition�
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
LSteph a �crit le 09/02/2011 � 12h22 :
> ..la preuve si tu veux v�rifier mets ton code ainsi adaptï¿ ½ dans
> un
> nouveau projet et teste:
>
> 'dans Module1 obligatoirement un module satandard du m�me class eur
> Sub macroOui()
> MsgBox "Existe"
> End Sub
> Sub macroNon()
> MsgBox "N'existe pas"
> End Sub
>
>
>
> 'dans le privatemodule de Feuil1
> Private Sub Worksheet_Deactivate()
> 'Verifie si le fichier referentiel est bien pr�sent
> Dim Fichier As String
> Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
> reference.xla")
>
> If Fichier <> "" Then 'le fichier existe
> Call macroOui
> Else 'le fichier n'existe pas
> Call macroNon
> Exit Sub
> End If
> End Sub
>
> 'LSteph
Merci une derniere question en v�rit�. Si je reprend votr e code mais que les
macros situ�es dans module1 de "exemple.xls" se situent en rï ¿½alit� dans le
module1 du fichier "reference.xla" et ne peuvent donc etre appel� es sauf quand
le classeur reference.xla est ouvert...
J'ai essay� d'utiliser l'appel dans chaque macros du module1 de " exemple.xls"
vers l'autre module1 de "reference.xla" o� est situ� le c ode mais cela reste
incompatible.. Il cherche les macros dans le module1 pr�sent soit en l'occurence
celui de "exemple.xls" et si il ne les trouvent pas il envoie toujours
� Erreur de complilation : Sub ou Function non d�finie. �. Il faudrait donc lui
dire d'appeler une macro dans un module d'un autre fichier..
Je cherche juste ca.
LSteph a �crit le 09/02/2011 � 12h22 :
> ..la preuve si tu veux v�rifier mets ton code ainsi adaptï¿ ½ dans
> un
> nouveau projet et teste:
>
> 'dans Module1 obligatoirement un module satandard du m�me class eur
> Sub macroOui()
> MsgBox "Existe"
> End Sub
> Sub macroNon()
> MsgBox "N'existe pas"
> End Sub
>
>
>
> 'dans le privatemodule de Feuil1
> Private Sub Worksheet_Deactivate()
> 'Verifie si le fichier referentiel est bien pr�sent
> Dim Fichier As String
> Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
> reference.xla")
>
> If Fichier <> "" Then 'le fichier existe
> Call macroOui
> Else 'le fichier n'existe pas
> Call macroNon
> Exit Sub
> End If
> End Sub
>
> 'LSteph
Merci une derniere question en v�rit�. Si je reprend votr e code mais que les
macros situ�es dans module1 de "exemple.xls" se situent en rï ¿½alit� dans le
module1 du fichier "reference.xla" et ne peuvent donc etre appel� es sauf quand
le classeur reference.xla est ouvert...
J'ai essay� d'utiliser l'appel dans chaque macros du module1 de " exemple.xls"
vers l'autre module1 de "reference.xla" o� est situ� le c ode mais cela reste
incompatible.. Il cherche les macros dans le module1 pr�sent soit en l'occurence
celui de "exemple.xls" et si il ne les trouvent pas il envoie toujours
� Erreur de complilation : Sub ou Function non d�finie. �. Il faudrait donc lui
dire d'appeler une macro dans un module d'un autre fichier..
Je cherche juste ca.
LSteph a �crit le 09/02/2011 � 12h22 :
> ..la preuve si tu veux v�rifier mets ton code ainsi adaptï¿ ½ dans
> un
> nouveau projet et teste:
>
> 'dans Module1 obligatoirement un module satandard du m�me class eur
> Sub macroOui()
> MsgBox "Existe"
> End Sub
> Sub macroNon()
> MsgBox "N'existe pas"
> End Sub
>
>
>
> 'dans le privatemodule de Feuil1
> Private Sub Worksheet_Deactivate()
> 'Verifie si le fichier referentiel est bien pr�sent
> Dim Fichier As String
> Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
> reference.xla")
>
> If Fichier <> "" Then 'le fichier existe
> Call macroOui
> Else 'le fichier n'existe pas
> Call macroNon
> Exit Sub
> End If
> End Sub
>
> 'LSteph
Merci une derniere question en v�rit�. Si je reprend votr e code mais que les
macros situ�es dans module1 de "exemple.xls" se situent en rï ¿½alit� dans le
module1 du fichier "reference.xla" et ne peuvent donc etre appel� es sauf quand
le classeur reference.xla est ouvert...
J'ai essay� d'utiliser l'appel dans chaque macros du module1 de " exemple.xls"
vers l'autre module1 de "reference.xla" o� est situ� le c ode mais cela reste
incompatible.. Il cherche les macros dans le module1 pr�sent soit en l'occurence
celui de "exemple.xls" et si il ne les trouvent pas il envoie toujours
� Erreur de complilation : Sub ou Function non d�finie. �. Il faudrait donc lui
dire d'appeler une macro dans un module d'un autre fichier..
Je cherche juste ca.
LSteph a écrit le 09/02/2011 à 12h22 :..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
Merci une derniere question en vérité. Si je reprend votre code
mais que les macros situées dans module1 de "exemple.xls" se
situent en réalité dans le module1 du fichier
"reference.xla" et ne peuvent donc etre appelées sauf quand le
classeur reference.xla est ouvert...
J'ai essayé d'utiliser l'appel dans chaque macros du module1 de
"exemple.xls" vers l'autre module1 de "reference.xla"
où est situé le code mais cela reste incompatible.. Il cherche
les macros dans le module1 présent soit en l'occurence celui de
"exemple.xls" et si il ne les trouvent pas il envoie toujours
« Erreur de complilation : Sub ou Function non définie. ».
Il faudrait donc lui dire d'appeler une macro dans un module d'un autre
fichier..
Je cherche juste ca.
LSteph a écrit le 09/02/2011 à 12h22 :
..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
Merci une derniere question en vérité. Si je reprend votre code
mais que les macros situées dans module1 de "exemple.xls" se
situent en réalité dans le module1 du fichier
"reference.xla" et ne peuvent donc etre appelées sauf quand le
classeur reference.xla est ouvert...
J'ai essayé d'utiliser l'appel dans chaque macros du module1 de
"exemple.xls" vers l'autre module1 de "reference.xla"
où est situé le code mais cela reste incompatible.. Il cherche
les macros dans le module1 présent soit en l'occurence celui de
"exemple.xls" et si il ne les trouvent pas il envoie toujours
« Erreur de complilation : Sub ou Function non définie. ».
Il faudrait donc lui dire d'appeler une macro dans un module d'un autre
fichier..
Je cherche juste ca.
LSteph a écrit le 09/02/2011 à 12h22 :..la preuve si tu veux vérifier mets ton code ainsi adapté dans
un
nouveau projet et teste:
'dans Module1 obligatoirement un module satandard du même classeur
Sub macroOui()
MsgBox "Existe"
End Sub
Sub macroNon()
MsgBox "N'existe pas"
End Sub
'dans le privatemodule de Feuil1
Private Sub Worksheet_Deactivate()
'Verifie si le fichier referentiel est bien présent
Dim Fichier As String
Fichier = Dir("C:Program FilesMicrosoftOfficeOFFICE11XLSTART
reference.xla")
If Fichier <> "" Then 'le fichier existe
Call macroOui
Else 'le fichier n'existe pas
Call macroNon
Exit Sub
End If
End Sub
'LSteph
Merci une derniere question en vérité. Si je reprend votre code
mais que les macros situées dans module1 de "exemple.xls" se
situent en réalité dans le module1 du fichier
"reference.xla" et ne peuvent donc etre appelées sauf quand le
classeur reference.xla est ouvert...
J'ai essayé d'utiliser l'appel dans chaque macros du module1 de
"exemple.xls" vers l'autre module1 de "reference.xla"
où est situé le code mais cela reste incompatible.. Il cherche
les macros dans le module1 présent soit en l'occurence celui de
"exemple.xls" et si il ne les trouvent pas il envoie toujours
« Erreur de complilation : Sub ou Function non définie. ».
Il faudrait donc lui dire d'appeler une macro dans un module d'un autre
fichier..
Je cherche juste ca.