Bonsoir,
Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une
macro complémentaire, jusque là rien de bien difficile.
Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla
qui demande d'ouvrir la feuille 2 Erreur
pourtant j'ai déclarer la variable mais rien a faire!!
En voici le code
Sub OuvreF2 ()
Dim Feuil2 As Worksheet
Set Feuil2 = Feuil2
Feuil2.Activate
End Sub
Merci de m'aider
--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous
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
michdenis
Bonjour Sten83,
A ) comme ta macro est dans le fichier Xla, la méthode la plus facile d'avoir accès au macro de ce fichier est de passer ce fichier xla comme référence au classeur où nous voulons y travailler. Pour ce faire, tu dois :
1- Déverrouiller ta macro complémentaire si elle l'est. 2- Sélectionner l'élément ThisWorkbook de ton fichier xla dans l'explorateur de projetVBA et utiliser la "Propriété Name" pour attribuer un Nom singulier (significatif) à ton fichier .xla. 3- Ne pas oublier d'enregistrer ton fichier xla manuellement... un fichier xla ne demande pas à la fermeture de celui-ci si tu veux sauvegarder tes modifications, tu dois le faire manuellement et ne pas t'attendre à cette requête d'excel. 4 - à partir de la barre des menus de la barre de la fenêtre d'éditeur de macro, outils / références / bouton parcourir jusqu'à la localisation de ton fichier de macro complémentaire...et tu coches cette dernière dans la liste si ce n'est déjà fait avant de refermer la fenêtre "Références".
L'autre alternative est de te créer un procédure dans ton fichier xls et appeler la procédure de la macro complémentaire comme ceci : Application.Run "Fichier.xla!toto" : Toto étant la macro appelé qui est situé dans un module Standard du classeur .xla
B ) Maintenant tu vas pouvoir exécuter la macro à partir d'un bouton de commande issu de la barre d'outils formulaire. Dans le code que tu as écris dans la procédure "Sub OuvreF2 ()" il y a un problème à cette ligne : Set Feuil2 = Feuil2 Ceci équivaut à créer une référence à la feuil2 du fichier Xla.
Pour créer une référence à la feuil2 du fichier appelant, tu dois écrire quelque chose comme : Dim F as worksheet Set F = ActiveWorkbook.Worksheets("Feuil2") F.activate
P.S. J'aurais dû me méfier des trucs faciles !!!
Salutations!
"STEN83" a écrit dans le message de news: Bonsoir, Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une macro complémentaire, jusque là rien de bien difficile. Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla qui demande d'ouvrir la feuille 2 Erreur pourtant j'ai déclarer la variable mais rien a faire!! En voici le code
Sub OuvreF2 ()
Dim Feuil2 As Worksheet Set Feuil2 = Feuil2
Feuil2.Activate
End Sub
Merci de m'aider -- Le partage du savoir contribue à l'amélioration de la condition humaine! Merci à tous
Bonjour Sten83,
A ) comme ta macro est dans le fichier Xla, la méthode la plus facile d'avoir accès au
macro de ce fichier est de passer ce fichier xla comme référence au classeur où
nous voulons y travailler. Pour ce faire, tu dois :
1- Déverrouiller ta macro complémentaire si elle l'est.
2- Sélectionner l'élément ThisWorkbook de ton fichier xla dans l'explorateur
de projetVBA et utiliser la "Propriété Name" pour attribuer un Nom singulier
(significatif) à ton fichier .xla.
3- Ne pas oublier d'enregistrer ton fichier xla manuellement... un fichier xla
ne demande pas à la fermeture de celui-ci si tu veux sauvegarder tes modifications,
tu dois le faire manuellement et ne pas t'attendre à cette requête d'excel.
4 - à partir de la barre des menus de la barre de la fenêtre d'éditeur de macro,
outils / références / bouton parcourir jusqu'à la localisation de ton fichier
de macro complémentaire...et tu coches cette dernière dans la liste si ce
n'est déjà fait avant de refermer la fenêtre "Références".
L'autre alternative est de te créer un procédure dans ton fichier xls et appeler
la procédure de la macro complémentaire comme ceci :
Application.Run "Fichier.xla!toto" : Toto étant la macro appelé qui est situé
dans un module Standard du classeur .xla
B ) Maintenant tu vas pouvoir exécuter la macro à partir d'un bouton de
commande issu de la barre d'outils formulaire.
Dans le code que tu as écris dans la procédure "Sub OuvreF2 ()"
il y a un problème à cette ligne : Set Feuil2 = Feuil2
Ceci équivaut à créer une référence à la feuil2 du fichier Xla.
Pour créer une référence à la feuil2 du fichier appelant, tu dois
écrire quelque chose comme :
Dim F as worksheet
Set F = ActiveWorkbook.Worksheets("Feuil2")
F.activate
P.S. J'aurais dû me méfier des trucs faciles !!!
Salutations!
"STEN83" <STEN83@discussions.microsoft.com> a écrit dans le message de news: 0B24EDD6-E3CD-4112-97E5-0EBAABE4DF68@microsoft.com...
Bonsoir,
Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une
macro complémentaire, jusque là rien de bien difficile.
Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla
qui demande d'ouvrir la feuille 2 Erreur
pourtant j'ai déclarer la variable mais rien a faire!!
En voici le code
Sub OuvreF2 ()
Dim Feuil2 As Worksheet
Set Feuil2 = Feuil2
Feuil2.Activate
End Sub
Merci de m'aider
--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous
A ) comme ta macro est dans le fichier Xla, la méthode la plus facile d'avoir accès au macro de ce fichier est de passer ce fichier xla comme référence au classeur où nous voulons y travailler. Pour ce faire, tu dois :
1- Déverrouiller ta macro complémentaire si elle l'est. 2- Sélectionner l'élément ThisWorkbook de ton fichier xla dans l'explorateur de projetVBA et utiliser la "Propriété Name" pour attribuer un Nom singulier (significatif) à ton fichier .xla. 3- Ne pas oublier d'enregistrer ton fichier xla manuellement... un fichier xla ne demande pas à la fermeture de celui-ci si tu veux sauvegarder tes modifications, tu dois le faire manuellement et ne pas t'attendre à cette requête d'excel. 4 - à partir de la barre des menus de la barre de la fenêtre d'éditeur de macro, outils / références / bouton parcourir jusqu'à la localisation de ton fichier de macro complémentaire...et tu coches cette dernière dans la liste si ce n'est déjà fait avant de refermer la fenêtre "Références".
L'autre alternative est de te créer un procédure dans ton fichier xls et appeler la procédure de la macro complémentaire comme ceci : Application.Run "Fichier.xla!toto" : Toto étant la macro appelé qui est situé dans un module Standard du classeur .xla
B ) Maintenant tu vas pouvoir exécuter la macro à partir d'un bouton de commande issu de la barre d'outils formulaire. Dans le code que tu as écris dans la procédure "Sub OuvreF2 ()" il y a un problème à cette ligne : Set Feuil2 = Feuil2 Ceci équivaut à créer une référence à la feuil2 du fichier Xla.
Pour créer une référence à la feuil2 du fichier appelant, tu dois écrire quelque chose comme : Dim F as worksheet Set F = ActiveWorkbook.Worksheets("Feuil2") F.activate
P.S. J'aurais dû me méfier des trucs faciles !!!
Salutations!
"STEN83" a écrit dans le message de news: Bonsoir, Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une macro complémentaire, jusque là rien de bien difficile. Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla qui demande d'ouvrir la feuille 2 Erreur pourtant j'ai déclarer la variable mais rien a faire!! En voici le code
Sub OuvreF2 ()
Dim Feuil2 As Worksheet Set Feuil2 = Feuil2
Feuil2.Activate
End Sub
Merci de m'aider -- Le partage du savoir contribue à l'amélioration de la condition humaine! Merci à tous
Ange Ounis
Pour ce que j'en comprends, l'instruction
Set Feuil2 = Feuil2
n'affecte rien du tout à la variable Feuil2. Je pense qu'il serait sans doute préférable de donner des indications plus claires à Excel. Qqchose de ce style :
Sub OuvreF2 () Dim Feuil2 As Worksheet Set Feuil2 = ActiveWorkbook.Sheets("Feuil2") Feuil2.Activate End Sub
---------- Ange Ounis ----------
Bonsoir, Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une macro complémentaire, jusque là rien de bien difficile. Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla qui demande d'ouvrir la feuille 2 Erreur pourtant j'ai déclarer la variable mais rien a faire!! En voici le code
Sub OuvreF2 ()
Dim Feuil2 As Worksheet Set Feuil2 = Feuil2
Feuil2.Activate
End Sub
Merci de m'aider
Pour ce que j'en comprends, l'instruction
Set Feuil2 = Feuil2
n'affecte rien du tout à la variable Feuil2.
Je pense qu'il serait sans doute préférable de donner des indications plus
claires à Excel. Qqchose de ce style :
Sub OuvreF2 ()
Dim Feuil2 As Worksheet
Set Feuil2 = ActiveWorkbook.Sheets("Feuil2")
Feuil2.Activate
End Sub
----------
Ange Ounis
----------
Bonsoir,
Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une
macro complémentaire, jusque là rien de bien difficile.
Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla
qui demande d'ouvrir la feuille 2 Erreur
pourtant j'ai déclarer la variable mais rien a faire!!
En voici le code
n'affecte rien du tout à la variable Feuil2. Je pense qu'il serait sans doute préférable de donner des indications plus claires à Excel. Qqchose de ce style :
Sub OuvreF2 () Dim Feuil2 As Worksheet Set Feuil2 = ActiveWorkbook.Sheets("Feuil2") Feuil2.Activate End Sub
---------- Ange Ounis ----------
Bonsoir, Dans un classeur plusieurs feuilles, les modules sont enregistrés dans une macro complémentaire, jusque là rien de bien difficile. Sur la feuille 1 du xls j'ai un bouton dont le code se trouve dans le xla qui demande d'ouvrir la feuille 2 Erreur pourtant j'ai déclarer la variable mais rien a faire!! En voici le code