non validation d'un enregistrement (vb6) - VB/VBA/VBS - Programmation
Marsh Posté le 02-04-2004 à 10:01:36
Hum si je comprends bien tu veux juste une fonction qui verifie qu'un fichier existe ou non et si c le cas demander si on veux l'ecraser ou pas. C'est a peu de chose pres ce que je fais dans ce bout de code, en gros dans mon cas j'affiche une boite de dialogue pour choisir un nom de fichier (il s'agit d'export de donnees vers un fichier .csv) et si il existe je deéande confirmation pour l'ecraser ou non ca pourra sans doute t'aider.
Dim fso As New FileSystemObject
Debut:
CommonDialog1.DialogTitle = "Veuillez indiquer un nom de fichier pour le fichier d'exportation"
CommonDialog1.Filter = "Fichiers CSV | *.csv"
CommonDialog1.InitDir = LireIni("PARAMETRE", "CHEMIN_SAUVE", "C:\", AppPath & "Param.ini" )
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then Exit Sub
If fso.FileExists(CommonDialog1.FileName) Then
If MsgBox("Le Fichier existe deja, si vous continuer vous aller supprimer le contenue du fichier existant. Voulez vous continuez ?", vbYesNo, "Fichier existant" ) = vbNo Then
GoTo Debut
End If
End If
PS : Pour les fonctions sur les fichiers : si il existe, parcourir un repertoire... j'utilse le filesystemobjects qui est vraiment tres pratique tu le trouveras dans references, Microsoft Scripting Runtime (scrrun.dll)
Marsh Posté le 01-04-2004 à 11:46:07
bonjour,
je crée avec mon application des fichiers excel. Si le fichier existe déja, je veux laisser le choix à l'utilsateur d'écraser ou non les données de ce fichier. j'ai écrit :
if FichierExiste(sPath_fld_res) = True Then
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs FileName:=sPath_fld_res, ReadOnlyRecommended:=False
la fonction fichierexiste :
Public Function FichierExiste(ByVal sName As String) As Boolean
On Error Resume Next
Dim attrib As Integer
attrib = GetAttr(Sname)
If (Err <> 0) Then
FichierExiste = False
Else
If ((attrib And vbDirectory) = vbDirectory) Then
FichierExiste = False
Else
FichierExiste = True
End If
End If
End Function
Si je dis que je ne veux pas écraser les données (donc pas enregistrer) j'obtiens une erreur : "la méthode 'saveas' de l'objet '_workbook a échoué. je ne comprend pas pourquoi sa plante.
merci