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
Code :
- 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:
Code :
- 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!!