Je voudrais définir une variable globale afin de pouvoir utiliser cette
variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du
Classeur est indispensable car il contient des tables réutilisées dans les
macros.
- Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus
correctement !
Cette variable doit me permettre de détecter le nom du Classeur à
l'ouverture (s'il a changé) de façon à ce que mes macros continuent à
fonctionner !
Genre : *Private Sub Workbook_open()
*ClasseurMacro = ActiveWorkbook.Name
*End Sub
(Heu là ça marche pô !)
Merci !
--
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M Virgule.la.bande.a.Basil@Netcourrier.com
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
OnE
Bonjour,
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une variable n'est effective qu'au niveau d'une procédure, sauf si cette dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du Classeur est indispensable car il contient des tables réutilisées dans les macros. - Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus correctement !
Cette variable doit me permettre de détecter le nom du Classeur à l'ouverture (s'il a changé) de façon à ce que mes macros continuent à fonctionner ! Genre : *Private Sub Workbook_open() *ClasseurMacro = ActiveWorkbook.Name *End Sub (Heu là ça marche pô !) Merci ! -- ______________________________________ J'aime bien les NewsGroup mais pas les virus !!! Retirer la 'Virgule.' si vous voulez répondre !! Myriam.M
Bonjour,
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une
variable n'est effective qu'au niveau d'une procédure, sauf si cette
dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes
procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette
variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du
Classeur est indispensable car il contient des tables réutilisées dans les
macros.
- Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus
correctement !
Cette variable doit me permettre de détecter le nom du Classeur à
l'ouverture (s'il a changé) de façon à ce que mes macros continuent à
fonctionner !
Genre : *Private Sub Workbook_open()
*ClasseurMacro = ActiveWorkbook.Name
*End Sub
(Heu là ça marche pô !)
Merci !
--
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M Virgule.la.bande.a.Basil@Netcourrier.com
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une variable n'est effective qu'au niveau d'une procédure, sauf si cette dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du Classeur est indispensable car il contient des tables réutilisées dans les macros. - Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus correctement !
Cette variable doit me permettre de détecter le nom du Classeur à l'ouverture (s'il a changé) de façon à ce que mes macros continuent à fonctionner ! Genre : *Private Sub Workbook_open() *ClasseurMacro = ActiveWorkbook.Name *End Sub (Heu là ça marche pô !) Merci ! -- ______________________________________ J'aime bien les NewsGroup mais pas les virus !!! Retirer la 'Virgule.' si vous voulez répondre !! Myriam.M
anonymousA
bonjour,
la portée des variables peut être de niveau procédure (connue de la seule procédure qui l'abrite) , module(c.à.d connue des toutes les procédures d'un module) ou publique (c.à.d connues de tous les modules voire même après une manip de référencement connue d'autres projets). Ce faisant, la propriété nécessaire mais qui peut être dangereuse d'une variable publique ou de niveau module ( avec evidemment des portées différentes), c'est de conserver sa valeur une fois la procédure exécutée et ce tant que le classeur n'est pas fermé ou que le variable n'est pas réinitialisée soit par programmation, soit selon le mode décrit ci-dessous. Par contre, dès que tu touches aux déclarations de variable (dans la section déclarations du module), les variables sont réinitialisées, le compilateur interprétant que les déclarations ayant changées, il est necessaire de "remettre à zéro" les compteurs. Pour des infos complémentaires , notamment les trucs du genre Private module, se référer à l'aide de VBA est une bonne chose.
A+
Bonjour,
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une variable n'est effective qu'au niveau d'une procédure, sauf si cette dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du Classeur est indispensable car il contient des tables réutilisées dans les macros. - Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus correctement !
Cette variable doit me permettre de détecter le nom du Classeur à l'ouverture (s'il a changé) de façon à ce que mes macros continuent à fonctionner ! Genre : *Private Sub Workbook_open() *ClasseurMacro = ActiveWorkbook.Name *End Sub (Heu là ça marche pô !) Merci ! -- ______________________________________ J'aime bien les NewsGroup mais pas les virus !!! Retirer la 'Virgule.' si vous voulez répondre !! Myriam.M
bonjour,
la portée des variables peut être de niveau procédure (connue de la seule
procédure qui l'abrite) , module(c.à.d connue des toutes les procédures d'un
module) ou publique (c.à.d connues de tous les modules voire même après une
manip de référencement connue d'autres projets).
Ce faisant, la propriété nécessaire mais qui peut être dangereuse d'une
variable publique ou de niveau module ( avec evidemment des portées
différentes), c'est de conserver sa valeur une fois la procédure exécutée et
ce tant que le classeur n'est pas fermé ou que le variable n'est pas
réinitialisée soit par programmation, soit selon le mode décrit ci-dessous.
Par contre, dès que tu touches aux déclarations de variable (dans la section
déclarations du module), les variables sont réinitialisées, le compilateur
interprétant que les déclarations ayant changées, il est necessaire de
"remettre à zéro" les compteurs.
Pour des infos complémentaires , notamment les trucs du genre Private
module, se référer à l'aide de VBA est une bonne chose.
A+
Bonjour,
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une
variable n'est effective qu'au niveau d'une procédure, sauf si cette
dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes
procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette
variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du
Classeur est indispensable car il contient des tables réutilisées dans les
macros.
- Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus
correctement !
Cette variable doit me permettre de détecter le nom du Classeur à
l'ouverture (s'il a changé) de façon à ce que mes macros continuent à
fonctionner !
Genre : *Private Sub Workbook_open()
*ClasseurMacro = ActiveWorkbook.Name
*End Sub
(Heu là ça marche pô !)
Merci !
--
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M Virgule.la.bande.a.Basil@Netcourrier.com
la portée des variables peut être de niveau procédure (connue de la seule procédure qui l'abrite) , module(c.à.d connue des toutes les procédures d'un module) ou publique (c.à.d connues de tous les modules voire même après une manip de référencement connue d'autres projets). Ce faisant, la propriété nécessaire mais qui peut être dangereuse d'une variable publique ou de niveau module ( avec evidemment des portées différentes), c'est de conserver sa valeur une fois la procédure exécutée et ce tant que le classeur n'est pas fermé ou que le variable n'est pas réinitialisée soit par programmation, soit selon le mode décrit ci-dessous. Par contre, dès que tu touches aux déclarations de variable (dans la section déclarations du module), les variables sont réinitialisées, le compilateur interprétant que les déclarations ayant changées, il est necessaire de "remettre à zéro" les compteurs. Pour des infos complémentaires , notamment les trucs du genre Private module, se référer à l'aide de VBA est une bonne chose.
A+
Bonjour,
Sans être tout à fait sûr de ce que j'avance, il me semble qu'une variable n'est effective qu'au niveau d'une procédure, sauf si cette dernière est déclarée comme étant une variable publique.
Il suffit donc dans ton cas de rajouter la ligne suivante avant tes procédures
Public ClasseurMacro
Bonjour à toutes et tous !
Je voudrais définir une variable globale afin de pouvoir utiliser cette variable dans toutes la macro vb d'un Classeur.
- Le nom de ce Classeur peut varié et contient des macros où le nom du Classeur est indispensable car il contient des tables réutilisées dans les macros. - Si l'utilisateur change le nom du Classeur, les macros ne fonctionne plus correctement !
Cette variable doit me permettre de détecter le nom du Classeur à l'ouverture (s'il a changé) de façon à ce que mes macros continuent à fonctionner ! Genre : *Private Sub Workbook_open() *ClasseurMacro = ActiveWorkbook.Name *End Sub (Heu là ça marche pô !) Merci ! -- ______________________________________ J'aime bien les NewsGroup mais pas les virus !!! Retirer la 'Virgule.' si vous voulez répondre !! Myriam.M