b_j666
Messages postés3Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention31 octobre 2007
-
31 oct. 2007 à 10:55
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
3 nov. 2007 à 16:55
Bonjour à tous,
Voilà mon probleme. J'ai créé une UserForm avec un bouton relié à du code VBA que je vous affiche direct ici :
Public Sub CommandButton1_Click()
UserForm1.Hide
Dim ChoixRep As FileDialog
Dim ch1, ch2 As String
Set ChoixRep = Application.FileDialog(msoFileDialogFolderPicker)
ChoixRep.Title = "Choisir le répertoire où sont stockés les fichiers à convertir"
ChoixRep.Show
ch1 = ChoixRep.SelectedItems(1)
ChoixRep.Title = "Choisir où enregistrer les fichiers convertis"
ChoixRep.Show
ch2 = ChoixRep.SelectedItems(1)
ERREUR ICI :
conversion (ch1, ch2)
Set ChoixRep = Nothing
Set UserForm1 = Nothing
End Sub
Dans mon worknook, j'ai un routine (sub) qui est celle ci :
Public Sub conversion(A As String, B As String)
'Acceleration de la macro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManu
....
...
...
End Sub
Dans le code de ma userForm, il me met comme erreur à la compilation :
Erreur de compilation :
Attendu : =
Pourtant, si je remplace ch1 et ch2 par deux chaine de caracteres (genre "C:\temp" et "D:\temp"), et bien là, ca marche nickel. Donc c'est vraiment une histoire de type. Comment résoudre ce probleme ?
Merci à tous pour votre aide.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 3 nov. 2007 à 16:55
Tu as déclaré tes variables ainsi
Dim ch1, ch2 As String
Seul ch2 est considéré en String, ch1 est considéré Variant
Soit tu déclares correctement et c'est préférable
Dim ch1 As String, ch2 As String
Soit tu changes ta procédure
Public Sub conversion(A As Variant, B As String)