inputbox bouton OK

sylv@in

XLDnaute Junior
bonjour,

j'ai une inputbox qui me permet de cahrger une base de données Dim reponse As String

chemin = ThisWorkbook.Path & "\"
reponse = InputBox("Veuillez entrer le nom de la base :", "Nom de la base", "REF_AUTO_2007")

If reponse = "" Then
Exit Sub
Else
If ExisteFichier(chemin & reponse & ".xls") = False Then
MsgBox ("votre fichier ne porte pas ce nom ou est situé dans le mauvais répertoire")
Else
Application.ScreenUpdating = False
Workbooks.Open Filename:=(chemin & reponse & ".xls")
End If
End If

j'ai géré l'appui sur le bouton annuler grâce au fait qu'il retourne une chaine vide (If reponse = "" ) mais je voudrais savoir comment je peux gérer le fait que l'opérateur appuie sur OK sans rentrer de nom a l'heure actuelle s'il ne rentre rien et appuie sur ok ca quitte l'inputbox mais je voudrais que ca lui mette une messagbox du genre "entrez un nom"

merci
 

mromain

XLDnaute Barbatruc
Re : inputbox bouton OK

bonjour sylv@in

Plutôt que de t'embêter à faire rentrer le nom du fichier par l'utilisateur, rajoute cette fonction dans tes macros

Code:
Public Function DialogueFichiers() As String
DialogueFichiers = ""
Dim fd As FileDialog
'Crée une boite de dialogue de sélection de fichiers :
Set fd = Application.FileDialog(msoFileDialogFilePicker)

dialog_show:
fd.Show
'limite la sélection à un fichier
If fd.SelectedItems.Count > 1 Then GoTo dialog_show

DialogueFichiers = fd.SelectedItems(1)
Set fd = Nothing
End Function

et dans ton code, tu écris simplement
Code:
On Error resume next
Workbooks.Open Filename:=(DialogueFichiers)
On Error Goto 0

A+
 

mromain

XLDnaute Barbatruc
Re : inputbox bouton OK

si tu ne veux pas trop modifier ton code, tu peux rajouter

Code:
chemin = ThisWorkbook.Path & "\"
[COLOR="Red"]saisie_fichier:[/COLOR]
reponse = InputBox("Veuillez entrer le nom de la base :", "Nom de la base", "REF_AUTO_2007")

If reponse = "" Then Exit Sub

If ExisteFichier(chemin & reponse & ".xls") = False Then MsgBox ("votre fichier ne porte pas ce nom ou est situé dans le mauvais répertoire")[COLOR="Red"]: GoTo saisie_fichier[/COLOR]

Application.ScreenUpdating = False
Workbooks.Open Filename:=(chemin & reponse & ".xls")

A+
 
Dernière édition:

sylv@in

XLDnaute Junior
Re : inputbox bouton OK

j'ai rajouter ton code
chemin = ThisWorkbook.Path & "\"
saisie_fichier:
reponse = InputBox("Veuillez entrer le nom de la base :", "Nom de la base", "REF_AUTO_2007")

If reponse = "" Then Exit Sub

If ExisteFichier(chemin & reponse & ".xls") = False Then MsgBox ("votre fichier ne porte pas ce nom ou est situé dans le mauvais répertoire"): GoTo saisie_fichier

Application.ScreenUpdating = False
Workbooks.Open Filename:=(chemin & reponse & ".xls")

mais ca ne change rien si l'utilisateur n'entre rien et clique sur ok ca ne met pas de message d'erreur
j'ai essayé ce code mais ca marche pas

if rep = vbOK and reponse = "" then
msgbox("vous devez selectionner un fichier"
reponse = inputbox("....")
endif
 

ballmaster

XLDnaute Occasionnel
Re : inputbox bouton OK

Bonjour,

après recherche, je crois qu'il faudrait que tu utilises application.inputbox

Code:
chemin = ThisWorkbook.Path & "\"
saisie_fichier:
reponse = application.InputBox("Veuillez entrer le nom de la base :", "Nom de la base", "REF_AUTO_2007")
If reponse = "faux" Then Exit Sub
if reponse="" then msgbox "veuillez entrer un nombre SVP !":goto saisie_fichier

If ExisteFichier(chemin & reponse & ".xls") = False Then MsgBox ("votre fichier ne porte pas ce nom ou est situé dans le mauvais répertoire
Application.ScreenUpdating = False
Workbooks.Open Filename:=(chemin & reponse & ".xls")
 

Statistiques des forums

Discussions
312 378
Messages
2 087 760
Membres
103 660
dernier inscrit
205 Peugeot