Sauvegarde simultanée fichier excel

Résolu
Arielle31 Messages postés 26 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je travaille actuellement sur Excel 3. Au boulot, j'ai un fichier excel sur mon disque dur et je dois le mettre également sur le réseau afin que tous les autres employés puissent le consulter.

Donc, je voudrais, lorsque je le mets à jour, le sauvegarder en même temps sur mon disque dur et sur le réseau - en lecture seule - en une seule manipulation.

Je suppose qu'il faut faire une macro mais je suis un peu limitée dans ce domaine.

Merci de votre aide :)
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. néné
     
    Bonjour

    Voici une macro

    Pour enregistré en même temps sur ton disque dur et sur ton réseau

    Sub SaveCopyAs()
    ActiveWorkbook.SaveCopyAs "f:\reseau\tonfichier.xls" 'a adapter 'sur ton reseau
    ActiveWorkbook.SaveCopyAs "c:\excel\tonfichier.xls" 'a adapter 'sur ton disque dur
    End Sub
    0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    je voudrais, lorsque je le mets à jour, le sauvegarder en même temps sur mon disque dur et sur le réseau - en lecture seule - en une seule manipulation.

    Pour cela, il faut effectivement mettre une macro et autant que possible une macro qui se lance toute seule lorsque tu sauvegardes.

    Ce que je te propose sera transparent une fois mis en place et chaque fois que tu sauvegardes, le réseau est à jour et le classeur réseau est en lecture seule.

    Je suppose qu'il faut faire une macro mais je suis un peu limitée dans ce domaine.

    Pour rajouter la macro regardes la procédure ICI

    Cette macro est à copier / coller dans Thisworkbook et il ne faut pas oublier de renseigner le nom du fichier réseau en remplaçant
    X:\chemin\nom.xls par le chemin complet de ton fichier réseau.
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim fs As Object                            ' système fichier
    Dim f As Object                             ' fichier
    Dim fich As String                          ' chemin du fichier du réseau
    fich = "X:\chemin\nom.xls"                  ' mettre le nom complet du fichier réseau
    Application.EnableEvents = False            ' les événements sont en silence
    Set fs = CreateObject("Scripting.FileSystemObject") ' système fichier
    On Error Resume Next                        ' si fichier absentl'erreur ne bloque pas
    Set f = fs.GetFile(fich)                    ' recherche du fichier
    f.Attributes = 0                            ' fichier en écriture
    On Error GoTo 0                             ' test des erreurs remis
    ActiveWorkbook.SaveCopyAs Filename:=fich    ' sauvegarde réseau
    Set f = fs.GetFile(fich)                    ' recherche du fichier
    f.Attributes = 1                            ' Lecture Seule
    Application.EnableEvents = True             ' les événements sont actifs
    End Sub
    0