Enregistrement d'une copie d'un fichier excel

ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012 - 19 août 2008 à 11:51
ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012 - 20 août 2008 à 14:03
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

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
19 août 2008 à 14:10
Bonjour ,
Essai d'utiliser "SaveAs" au lieu de "SaveCopyAs"
A+
0
ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012
19 août 2008 à 17:26
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 ;-))
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
19 août 2008 à 20:32
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++
0
ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012
20 août 2008 à 08:53
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 ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 août 2008 à 10:03
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++
0
ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012
20 août 2008 à 11:18
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 ;-))
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 août 2008 à 12:39
Re,
Un nouveau fichier de données sans macros , c'est mieux surtout s'ils ne sont
pas utilisés.
Bonne programmation !
A++
0
ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012
20 août 2008 à 14:03
Bien d'accord
Encore merci !

Lezeps ;-))
0
Rejoignez-nous