non validation d'un enregistrement (vb6)

non validation d'un enregistrement (vb6) - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 01-04-2004 à 11:46:07   

Reply

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)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed