OVH Cloud OVH Cloud

Variable à passer dans une macro

3 réponses
Avatar
Eric RENAUD
Bonjour,
J'ai une macro qui effectue différentes requêtes, et à la fin j'exporte dans
un fichier Excel.
Dans l'action CopiersVers, je mets par exemplez "C:\Excle\Export.xls". Dans
ce cas c'est OK
A présent, je souhaiterai que ce chemin soit en variable c'est à dire
récupérer ce chemin d'une textbox posée sur le formulaire qui lance cette
macro.

CopiersVers
Fichier de copie "C:\Excel\Export.xls"
deviendrait

Fichier de copie [Accueil]![txtChemin] ......
Nom du Formulaire : Accueil
Nom du controle TextBox : txtChemin

--
...........................
Bien cordialement
Eric Renaud
http://www.erenaud.fr.fm/

3 réponses

Avatar
Raymond [mvp]
Bonjour.

à ma connaissance tu ne peut pas faire référence directement à un contrôle
de formulaire.
Tu peux indiquer une fonction qui passera la valeur du contrôle et cette
valeur sera prise comme nom de fichier . cette fonction peut être de ce
type:
Public Function mafonction() As String
mafonction = "c:essais.xls"
End Function
et dans ta macro tu indiqueras dans fichier de copie : =mafonction()

à ce stade, il est préférable de passer directement en vba par la fonction
DoCmd.TransferSpreadsheet dans laquelle tu pourras indiquer la référence à
ton contrôle de formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric RENAUD" a écrit dans le message de
news:uk%
Bonjour,
J'ai une macro qui effectue différentes requêtes, et à la fin j'exporte
dans

un fichier Excel.
Dans l'action CopiersVers, je mets par exemplez "C:ExcleExport.xls".
Dans

ce cas c'est OK
A présent, je souhaiterai que ce chemin soit en variable c'est à dire
récupérer ce chemin d'une textbox posée sur le formulaire qui lance cette
macro.

CopiersVers
Fichier de copie "C:ExcelExport.xls"
deviendrait

Fichier de copie [Accueil]![txtChemin] ......
Nom du Formulaire : Accueil
Nom du controle TextBox : txtChemin

--
...........................
Bien cordialement
Eric Renaud
http://www.erenaud.fr.fm/




Avatar
Raymond [mvp]
.../...
ou
Public Function mafonction() As String
mafonction = forms!monformulaire!moncontrole
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
Avatar
Eric RENAUD
Pour info j'ai réussi et voici ma syntaxe
CopierVers : =[Formulaires]![Accueil]![txtChemin]
txtChemin étant le nom de ma zone de texte dans laquemlle j'ai écrit un
chemin complet "C:ExcelExport.xls"

"Raymond [mvp]" a écrit dans le message de
news:%
Bonjour.

à ma connaissance tu ne peut pas faire référence directement à un contrôle
de formulaire.
Tu peux indiquer une fonction qui passera la valeur du contrôle et cette
valeur sera prise comme nom de fichier . cette fonction peut être de ce
type:
Public Function mafonction() As String
mafonction = "c:essais.xls"
End Function
et dans ta macro tu indiqueras dans fichier de copie : =mafonction()

à ce stade, il est préférable de passer directement en vba par la fonction
DoCmd.TransferSpreadsheet dans laquelle tu pourras indiquer la référence à
ton contrôle de formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric RENAUD" a écrit dans le message de
news:uk%
Bonjour,
J'ai une macro qui effectue différentes requêtes, et à la fin j'exporte
dans

un fichier Excel.
Dans l'action CopiersVers, je mets par exemplez "C:ExcleExport.xls".
Dans

ce cas c'est OK
A présent, je souhaiterai que ce chemin soit en variable c'est à dire
récupérer ce chemin d'une textbox posée sur le formulaire qui lance
cette


macro.

CopiersVers
Fichier de copie "C:ExcelExport.xls"
deviendrait

Fichier de copie [Accueil]![txtChemin] ......
Nom du Formulaire : Accueil
Nom du controle TextBox : txtChemin

--
...........................
Bien cordialement
Eric Renaud
http://www.erenaud.fr.fm/