function sub et utilisation dans autre module
Bonjour,
alors voilà: un module1 qui contient la function suivante (pour permettre le choix du dossier de destination):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Public Function choisirdestination() As String
Dim boitedialogue As FileDialog
Dim Destination As String
Set boitedialogue = Application.FileDialog(msoFileDialogFolderPicker)
boitedialogue.AllowMultiSelect = False
boitedialogue.Title = "choisir un dossier"
boitedialogue.Show
If boitedialogue.SelectedItems(1) = "" Then
MsgBox "Selectionner un dossier"
Else
Destination = boitedialogue.SelectedItems(1)
End If
End Function |
Elle fonctionne; mais je veux l'utiliser dans un objet de classe (sur un état, j'ai un bouton export pour générer un pdf); le code suivant ne fonctionne pas:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Private Sub commExportPdf_Click()
Dim NomFichier As String
Dim Dmaj As String
Dim Site As String
Dim Cible As String
Dmaj = Replace(DT_Maj, "/", "")
Site = Replace([Nom Site], "/", "%")
NomFichier = "Fiche Technique" & "_" & Site & "_" & Dmaj & ".pdf"
Cible = choisirdestination()
MsgBox Cible
MsgBox NomFichier
DoCmd.OutputTo acOutputReport, , acFormatPDF, Cible & "/" & NomFichier, True
End Sub |
Je comprends que la Private Sub commExportPdf_Click(), exécute la function choisirdestination mais ne conserve pas la variable destination de cette function (MsgBox de ligne 14 reste vide). Remplacer Dim par Static? Qu'est-ce qui est approprié dans mon module1 ? Sub? Function? (pour moi il me faut une valeur, donc c'est function)...
Auriez vous une piste?