Msgbox avec une valeur en entrée

mmmxtina -  
jjsteing Messages postés 1803 Statut Contributeur -
Bonjour à tous,

Petit soucis:

J'aimerai faire une MsgBox personnalisée où je demande à l'utilisateur d'entrer un nom de fichier (si le fichier est déjà présent dans le répertoire) et quand il appuie sur Ok le programme récupère ce nom, et enregistre le fichier à l'endroit et sous le nom donné par l'utilisateur.
Sauf erreur VBA ne propose pas de msgbox où l'utilisateur, peut entrer une valeur, et on peut récupérer cette valeur en VBA?

Et donc j'ai crée un formulaire tout simple, avec une zone de texte et un bouton OK, et j'ouvre ce formulaire après avoir scanner le dossier.
Le probleme, c'est que j'aimerai stopé le code VBA, et que le code reprenne une fois que l'utilisateur à cliqué sur OK.

voici mon code:
cette fonction cherche dans le répertoire "chemin" si le nom du fichier existe
Public Function VerifExistant(nomFichAs String, chemin As String)
Dim fso As FileSystemObject, dossier As Folder, sousdossier As Folder, fichier As File
Set fso = New FileSystemObject
Set dossier = fso.GetFolder(chemin)
 
 
For Each fichier In dossier.Files
        If (InStr(1, fichier, nomFich, 1) <> 0) Then
            NomsauveStat = True
            DoCmd.OpenForm "Remplacer", acNormal
            Form_Remplacer.TextFichExistant = Replace(nomFich, ".xls", "")
            Exit Function
        End If
    Next
End Function


cette fonction s'execute lorsque l'utilisateur appui sur le formulaire Form_Remplacer:
Private Sub Commande3_Click()
NomsauveStat = False
 
If Len(Form_Remplacer.TextFichExistant) = 0 Then
    MsgBox "Vous devez écrire un nom."
    Exit Sub
End If
If NomsauveStat = True Then
    sauvegardeStat = Form_Remplacer.TextFichExistant.Value
    GoTo saveStat
End If
 
NomsauveStat = False
End Sub

donc le soucis c'est que le code ne sarrete pas, le formulaire Form_Remplacer est ouvert, mais le code continu, donc l'utilisateur ne peut pas changer le nom du fichier du coup!!

help help! jespere que j'ai été assez claire!

merci!!

3 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

pas trop compris:
Sauf erreur VBA ne propose pas de msgbox où l'utilisateur, peut entrer une valeur, et on peut récupérer cette valeur en VBA?

Apparemment tu bosses sous access (????): l' objet " Inputbox" qui permet de rentrer du texte n'existe il pas sous Access?
je viens d'essayer sous Access 2003: il est disponible
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 


doublon, excusez moi
0
jjsteing Messages postés 1803 Statut Contributeur 181
 
Bonjour...

essai ca ;)


If Len(Form_Remplacer.TextFichExistant) = 0 Then
MsgBox "Vous devez écrire un nom."
Exit Sub
else
If NomsauveStat = True Then
sauvegardeStat = Form_Remplacer.TextFichExistant.Value
GoTo saveStat
End If
End if
0