Eleasias
Messages postés36Date d'inscriptionmardi 18 mars 2008StatutMembreDernière intervention31 mars 2008
-
20 mars 2008 à 15:06
cs_MPi -
21 mars 2008 à 22:16
Bonjour,
J'ai une userform avec une textbox et un bouton "ouvrir".
Lorsque je fais ouvrir, mon chemin d'accès s'inscrit dans ma textbox.
Le problème est que si je fais ouvrir, puis annuler, la valeur "FALSE" s'incrit dans ma textbox.
J'aimerai trouver un moyen de remédier à ce problème.
Merci par avance pour vos éventuelles réponses
Eleasias
A voir également:
Apparition de "FALSE" si on fait "ouvrir" sans choisir de chemin d'accès
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 20 mars 2008 à 16:06
Re,
Voici UNE possiblité il y en a d'autres, mais au moins tu as l'idée
Dim Retour As String
'On stocke la valeur retournée par
'Application.GetOpenFilename
Retour = Application.GetOpenFilename
'On test l'existance du fichier pour
'le mettre dans le textbox (c'est une possibilité)
If (Dir(Retour) <> vbNullString) Then
TextBox1.Value = Retour
Else
TextBox1.Value = vbNullString
End If , ----
[code.aspx?ID=41455 By Renfield]
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mars 2008 à 16:12
d'ailleurs, mon code, ca ne va même pas... GetOpenFileName renvoie un Boolean (quelle daube)
pour éviter tout soucis (imagine un fichier nommé "Faux" qui serait bien placé, ton code plonge, jrivet (bon, ok, ca fait une phrase avec des si...)
seule alternative valable :
Dim sFileName As Variant
sFileName = Application.GetOpenFilename
If VarType(sFileName) = vbString Then '# renvoie un Boolean False si Cancel pressé, une String sinon...
TextBox1.Value = sFileName
End If
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 20 mars 2008 à 16:34
Re,
Toute mes excuses [auteur/RENFIELD/2359.aspx Renfield]j'ai pas les yeux en face des trous.... tu lavais dit que cela n'allait pas ... Méa culpa. faut que j'arrête le Sport entre midi et Deux ca me grille le peu de neurones que j'ai.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mars 2008 à 16:39
excuses, mea culpa....
ben écoutes, y'a pas mort d'homme ^^ on est là pour avancer, tout le monde peut se gourrer :p
bonjour, merci, et autres "civilités" du genre ne sont pas monnaie courante chez moi, tu sais...
je ne m'offusque pas pour si peu. Le respect ne passe pas par là, a mon sens.
Eleasias
Messages postés36Date d'inscriptionmardi 18 mars 2008StatutMembreDernière intervention31 mars 2008 21 mars 2008 à 08:23
Tout d'abord merci à tous pour votre participation.
J'ai essayé le code msdn :
fileToOpen = Application _
. GetOpenFilename ("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
Textbox1.Value = fileToOpen
End If
Mais vba me fait un débogage à la ligne du If. J'ai déclaré fileToOpen en string.
Je suis débutant et je ne comprend pas trop ce que sont des objets comme sFileName ou (Dir(Retour) <> vbNullString).
Désolé mais il faut que j'utilise vba et je n'en ai que de petites bases.
Eleasias
Messages postés36Date d'inscriptionmardi 18 mars 2008StatutMembreDernière intervention31 mars 2008 21 mars 2008 à 09:17
J'ai trouvé l'erreur c'était une incopatibilité de type car False n'était pas entre guillemets. Ca ne plante plus mais à la place de False ca met faux maintenant, je n'y comprend rien.
Même avec un :
Else TextBox1.value = ""
ca ne marche pas
Et si je remplace If fileToOpen <> "False" Then par f fileToOpen <> "False" or "faux" Then
Ca ne marche toujours pas...