Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] objet classeur en parametre

5 réponses
Avatar
Orel
bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs classeurs je dois
mettre en forme 4 classeurs selon un format identique avant de les
rassembler.
J'ai donc créer une fonction qui prend pour parametre un objet classeur
préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour mes quatre
classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '// MonClasseur qui a ce
momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 : objet requis

Question : peu t on faire ce que je veu faire ??? si oui comment ;o)
sinon tant pis je ferai autrement !!!!


merci d'avance
orel

5 réponses

Avatar
Vincent.
Bonjour !
Essaie de remplacer function par sub (au début et à la
fin), pê que ça marchera...

-----Message d'origine-----
bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs
classeurs je dois

mettre en forme 4 classeurs selon un format identique
avant de les

rassembler.
J'ai donc créer une fonction qui prend pour parametre un
objet classeur

préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour
mes quatre

classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '//
MonClasseur qui a ce

momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 :
objet requis


Question : peu t on faire ce que je veu faire ??? si oui
comment ;o)

sinon tant pis je ferai autrement !!!!


merci d'avance
orel


.



Avatar
Orel
toujours pareil .... en suspens

merci

"Vincent." a écrit dans le message news:
00ad01c38c17$715afa30$
Bonjour !
Essaie de remplacer function par sub (au début et à la
fin), pê que ça marchera...

-----Message d'origine-----
bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs
classeurs je dois

mettre en forme 4 classeurs selon un format identique
avant de les

rassembler.
J'ai donc créer une fonction qui prend pour parametre un
objet classeur

préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour
mes quatre

classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '//
MonClasseur qui a ce

momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 :
objet requis


Question : peu t on faire ce que je veu faire ??? si oui
comment ;o)

sinon tant pis je ferai autrement !!!!


merci d'avance
orel


.



Avatar
Frédéric Sigonneau
Bonjour,

Est-ce bien ce genre de syntaxe que tu utilises (et le même nom pour ta
fonction...) :

Sub test()
Dim Classeur As Workbook

Set Classeur=Workbooks("MonClasseur.xls")
MiseEnForme Classeur

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs classeurs je dois
mettre en forme 4 classeurs selon un format identique avant de les
rassembler.
J'ai donc créer une fonction qui prend pour parametre un objet classeur
préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour mes quatre
classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '// MonClasseur qui a ce
momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 : objet requis

Question : peu t on faire ce que je veu faire ??? si oui comment ;o)
sinon tant pis je ferai autrement !!!!

merci d'avance
orel


Avatar
Pierre Fauconnier
Bonjour

Il faut que MonClasseur utilisé soit un objet classeur et non le nom d'un
classeur..

Dim MonClasseur as Workbook
Set MonClasseur= Workbooks("ClasseurXXX.xls")
retour=MiseEnForme(MonClasseur)

Si MonClasseur est une variable de type String, tu auras ceci

Dim MonClasseur as string
MonClasseur="ClasseurXXX.xls"
retour=MiseEnForme(Workbooks(MonClasseur))


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)

Orel wrote:
bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs classeurs je
dois mettre en forme 4 classeurs selon un format identique avant de
les rassembler.
J'ai donc créer une fonction qui prend pour parametre un objet
classeur préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour mes quatre
classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '// MonClasseur qui a ce
momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 : objet requis

Question : peu t on faire ce que je veu faire ??? si oui comment ;o)
sinon tant pis je ferai autrement !!!!


merci d'avance
orel


Avatar
Orel
Ok Bien compris ...
en fait maintenant ca marche avec MonClasseur de type objet....

mais j'ecris dans mes tablettes vos propositions ...

merci encore

orel


"Orel" <pub[nospam]@owel.fr.st> a écrit dans le message news:
#
bonjour !

dans le cadre d'une de mes macro qui manipule plusieurs classeurs je dois
mettre en forme 4 classeurs selon un format identique avant de les
rassembler.
J'ai donc créer une fonction qui prend pour parametre un objet classeur
préalablement défini et initialisé.
ce qui donne

function MiseEnForme ( byval Classeur as objet)
classeur.activate
'// instructions diverses zé variées
'//fin
end function

en faisant cela , ca me permet de faire une fonction pour mes quatre
classeurs ...

mais voila ca ne fonctionne pas !

j'appel ma fonction :

retour = MiseEnFormeEncaissement(MonClasseur) '// MonClasseur qui a ce
momment là est bien valide ...

je fait F8 je rentre dans ma fonction

et là mon parametre Classeur est vide...
et sur la ligne Classeur.ativate j'ai une erreur 424 : objet requis

Question : peu t on faire ce que je veu faire ??? si oui comment ;o)
sinon tant pis je ferai autrement !!!!


merci d'avance
orel