Eviter de dupliquer du code

Le
Dyj
Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer une
liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #20558201
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer une
liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.


Dyj
Le #20558711
Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb ne
marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai fait
un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.






Dyj
Le #20558701
Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la même
feuille, le "call" a une routine définie dans un module de personal.xlsb ne
marche pasr. Erreur: sub routine not found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai fait
un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.






Daniel.C
Le #20558951
Je n'avais pas compris ton problème; je pensais que c'état le nombre de
feuilles qui te posais problème.
La syntaxe à utiliser est la suivante :

var = Application.Run("Personal.xlsb!MonModule.Maroutine")
Daniel

Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb ne
marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai fait
un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer une
liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.








Dyj
Le #20558931
Je ferai l'essai ce soir et je te tiendrai au courant. Merci de suivre mmon
pb.

"Daniel.C" news:
Je n'avais pas compris ton problème; je pensais que c'état le nombre de
feuilles qui te posais problème.
La syntaxe à utiliser est la suivante :

var = Application.Run("Personal.xlsb!MonModule.Maroutine")
Daniel

Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb
ne marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai
fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.












Dyj
Le #20561321
Merci Daniel, c'est exactement ce que je voulais, n'avoir qu'une seule
routine de traitement quelque soit la feuille. J'ai regardé le help, il me
semble qu'avec Application.run, on ne peut pas passer d'argument à la
routine. Ai je bien interprété ?

"Daniel.C" news:
Je n'avais pas compris ton problème; je pensais que c'état le nombre de
feuilles qui te posais problème.
La syntaxe à utiliser est la suivante :

var = Application.Run("Personal.xlsb!MonModule.Maroutine")
Daniel

Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb
ne marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai
fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.












Daniel.C
Le #20561561
On doit pas avoir le même ;-)))
Mon help m'indique qu'on peut passer jusqu'à 30 arguments :
var = Application.Run("Personal.xlsb!MonModule.Maroutine, param1,
param2, param3")
Daniel

Merci Daniel, c'est exactement ce que je voulais, n'avoir qu'une seule
routine de traitement quelque soit la feuille. J'ai regardé le help, il me
semble qu'avec Application.run, on ne peut pas passer d'argument à la
routine. Ai je bien interprété ?

"Daniel.C" news:
Je n'avais pas compris ton problème; je pensais que c'état le nombre de
feuilles qui te posais problème.
La syntaxe à utiliser est la suivante :

var = Application.Run("Personal.xlsb!MonModule.Maroutine")
Daniel

Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb
ne marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai
fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.














Daniel.C
Le #20561551
Complément du post précédent :
"Vous ne pouvez pas utiliser d'arguments nommés avec cette méthode. Ils
doivent être transmis par position." sigifie (à mon avis) que tu ne peu
pas écrire :
Application.Run("Personal.xlsb!MonModule.Maroutine, arg1:=var1,
arg5:=var2")
Si tu as des arguments optionnels, pour indiquer le premier et le
cinquième, tu dois mettre :
Application.Run("Personal.xlsb!MonModule.Maroutine, var1,,,,var2")
Daniel

Merci Daniel, c'est exactement ce que je voulais, n'avoir qu'une seule
routine de traitement quelque soit la feuille. J'ai regardé le help, il me
semble qu'avec Application.run, on ne peut pas passer d'argument à la
routine. Ai je bien interprété ?

"Daniel.C" news:
Je n'avais pas compris ton problème; je pensais que c'état le nombre de
feuilles qui te posais problème.
La syntaxe à utiliser est la suivante :

var = Application.Run("Personal.xlsb!MonModule.Maroutine")
Daniel

Que ce soit dans le "code" la feuille ou dans le "ThisWorkbook" de la mêm
feuille, le "call" a une routine définie dans un module de personal.xlsb
ne marche erreur. Erreur: sub routine nort found.
Il n'y a pas d'erreur sur le nom de sous routine.

"Daniel.C" news:%
Bonjour.
Dans le module "Thisworkbook",utilise la macro :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Daniel

Bonjour,
J'ai un classeur de 12 feuilles identiques. En colonne C, j'ai des
valeurs
ou des cellules vides. Lorsque je sélectionne une cellule vide, j'ai
fait un
peu de code dans la feuille (Worksheet_SelectionChange) pour y insérer
une liste. Ce code se trouve donc
la feuille 1.
Comment puis je utiliser ce code à partir des autres feuilles sans être
obligé de le dupliquer dans chaque feuille.
Si je fait un "Call MaRoutine" que j'ai placée dans un module de
Personal.xlsb, il y a une erreur de compilation.
Merci pour vos réponses.














Publicité
Poster une réponse
Anonyme