Enregistrement d'une copie d'un fichier excel

Signaler
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012
-
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012
-
Bonjour,

Je souhaite enregistrer la copie d'un fichier excel à sa fermeture sans les propriété lié à "enregistrer sous".
Ces fichier sont sur un réseau utilisables par un grand nb d'utilisteurs : 
      - utilisateurs pouvant modifier ( l'origine)
      - utilisateurs en lecture seul ( le fichier qui s'enregistre)

Mon code est actuellement le suivant pour le fichier en lecture seul, qui correspond à "enregistrer sous".

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   ActiveSheet.Protect Password:=("rh_03"), DrawingObjects:=True, Contents:=True, Scenarios:=True
   ActiveWorkbook.SaveCopyAs "[file://\\adresse du fichier \\adresse du fichier]"
   ActiveWorkbook.Save
End Sub

Mon problème est  ne pas récupérer les macros sur le fichier qui s'enregistre, bref d'avoir un fichier vierge qui s'ouvre avec une protection complète pour les modifs.

Merci de vos réponses !!!

Lezeps ;-))

8 réponses

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Bonjour ,
Essai d'utiliser "SaveAs" au lieu de "SaveCopyAs"
A+
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012

Merci pour ta réponse, mais le pb persiste.

La différence est qu'avec "SaveAs"  il te demande de remplacer le fichier déjà existant.

Lezeps ;-))
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Salut
C'est évident si t'enregistes ce fichier dans le même dossier et avec le même nom
de fichier !
Il devrait savoir qu'il ne peut pas avoir 2 fichiers nommés identiquement dans le même dossier.
Si tu conserves le dossier d'origine , il faudra que tu affectes un autre nom de fichier
à chaque fois.
Utilise "SaveAs" et modifie ton "filename" de facon automatique pour chaque enregistrement.
J'espère que tu as compris.
A++
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012

Oui, oui, je suis d'accord avec toi et je n'ai pas de souci avec ça.
C'était juste pout te dire la différence des deux codes.

C'est simplement que je cherche un code qui me permet d'enregistrer un fichier sans les macros à l'intérieur ( ou alors les désactiver par code au moment de l'enregistrement )
Un peu comme si tu fais un copier / coller la valeur et le format.
Hors lorsque tu fais un "SaveCopyAs" c'est l'image exact du fichier que tu enregistres, avec tout à l'intérieur.
Mais comme c'est pour une simple consultation, je ne veux pas que les macros s'exécutent.
Lezeps ;-))
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
bonjour ,
Si j'ai compris , tu veux enregister simplement et uniquement le contenu
des feuilles de façon identique dans un autre fichier.
Dans ce cas , il faut peut être faire un copy-coller de chaque feuille.
Les codes à utiliser sont "Copy" puis "Paste".
C'est du style par exemple:
Workbooks("Classeur.xls").Worksheets("travaux").Range("A2:Z10").Copy

Workbooks("Classeur2.xls").).Worksheets(nma).Range("A2:Z10").PasteSpecial _ Paste:=xlPasteValues, operation:=xlNone, skipblanks:=True, Transpose:=False

Si c'est ce que tu veux , il ne reste plus qu'a programmer
A++
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012

Bonjour,

Effectivement, il y a cette méthode, mais je voulais passer une méthode plus propre en codant par exemple, la désactivation des macros dans le fichier copier.
Dans tout les cas je te remercie, je vais opérer comme tu me le mets par copier/coller les cellules de la feuille.

A++ et merci pour ton aide

Lezeps ;-))
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Re,
Un nouveau fichier de données sans macros , c'est mieux surtout s'ils ne sont
pas utilisés.
Bonne programmation !
A++
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
28 juin 2012

Bien d'accord
Encore merci !

Lezeps ;-))