Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Enregistrement automatique

11 réponses
Avatar
TITUS
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à faire un
enregistrer sous et d'enregistrer le fichier dans un répertoire précis du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS

10 réponses

1 2
Avatar
Philippe.R
Bonsoir,
Dans le Private Sub Workbook_BeforeClose(Cancel As Boolean)

'la commande suivante, le chemin et le nom étant à adapter

zenom=environ("username")
ActiveWorkbook.SaveAs Filename:ÚtatataTECNIKZAZA-MPFEMon-fichier"
& zenom & date &".xls"
thisworkbook.saved=true
end sub

'Enregistrera le fichier sur le lecteur (serveur) datatata au répertoire
TECNIK sous répertoire ZAZA-MPFE sous un nom composé du nom de base du
fichier, du nom de l'utilisateur et de la date
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à faire un
enregistrer sous et d'enregistrer le fichier dans un répertoire précis du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS



Avatar
TITUS
Désolée, mais j'ai une erreur de compile et quand j'appuie sur le bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date &".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"




Bonsoir,
Dans le Private Sub Workbook_BeforeClose(Cancel As Boolean)

'la commande suivante, le chemin et le nom étant à adapter

zenom=environ("username")
ActiveWorkbook.SaveAs Filename:ÚtatataTECNIKZAZA-MPFEMon-fichier"
& zenom & date &".xls"
thisworkbook.saved=true
end sub

'Enregistrera le fichier sur le lecteur (serveur) datatata au répertoire
TECNIK sous répertoire ZAZA-MPFE sous un nom composé du nom de base du
fichier, du nom de l'utilisateur et de la date
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à faire un
enregistrer sous et d'enregistrer le fichier dans un répertoire précis du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS







Avatar
Gilles MOUGNOZ
Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"TITUS" a écrit dans le message de news:

Désolée, mais j'ai une erreur de compile et quand j'appuie sur le bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"




Bonsoir,
Dans le Private Sub Workbook_BeforeClose(Cancel As Boolean)

'la commande suivante, le chemin et le nom étant à adapter

zenom=environ("username")
ActiveWorkbook.SaveAs
Filename:ÚtatataTECNIKZAZA-MPFEMon-fichier"
& zenom & date &".xls"
thisworkbook.saved=true
end sub

'Enregistrera le fichier sur le lecteur (serveur) datatata au répertoire
TECNIK sous répertoire ZAZA-MPFE sous un nom composé du nom de base du
fichier, du nom de l'utilisateur et de la date
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à faire
un
enregistrer sous et d'enregistrer le fichier dans un répertoire précis
du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS









Avatar
TITUS
Effectivement je n'ai plus d'erreur de compil, mais ça n'a aucun effet sur
l'enregistrement.



Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"TITUS" a écrit dans le message de news:

Désolée, mais j'ai une erreur de compile et quand j'appuie sur le bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"




Bonsoir,
Dans le Private Sub Workbook_BeforeClose(Cancel As Boolean)

'la commande suivante, le chemin et le nom étant à adapter

zenom=environ("username")
ActiveWorkbook.SaveAs
Filename:ÚtatataTECNIKZAZA-MPFEMon-fichier"
& zenom & date &".xls"
thisworkbook.saved=true
end sub

'Enregistrera le fichier sur le lecteur (serveur) datatata au répertoire
TECNIK sous répertoire ZAZA-MPFE sous un nom composé du nom de base du
fichier, du nom de l'utilisateur et de la date
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à faire
un
enregistrer sous et d'enregistrer le fichier dans un répertoire précis
du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS














Avatar
Gilles MOUGNOZ
Re,
Je viens de faire le test.
Chez moi, une erreur s'affiche due aux dates qui s'écrivent avec des slashs
(/), caractère qui n'est pas accepté par Windows pour les noms de fichiers.
J'ai testé cette version qui fonctionne pour moi:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs _
Filename:="daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Date,"yyyy.mm.dd") & ".xls"
ThisWorkbook.Saved = True
End Sub

J'ai inversé le sens d'écriture de la date (2007.08.03) pour faciliter le
classement par ordre alphabétique ;-)
Par ailleurs, je pense qu'une erreur peut aussi se produire si le répertoire
de destination n'existe pas.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Effectivement je n'ai plus d'erreur de compil, mais ça n'a aucun effet sur
l'enregistrement.
Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
Désolée, mais j'ai une erreur de compile et quand j'appuie sur le
bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"
...








Avatar
Philippe.R
Merci Gilles, d'avoir pris le relai
--
Philippe.R
"Gilles MOUGNOZ" a écrit dans le message de
news:%
Re,
Je viens de faire le test.
Chez moi, une erreur s'affiche due aux dates qui s'écrivent avec des
slashs (/), caractère qui n'est pas accepté par Windows pour les noms de
fichiers. J'ai testé cette version qui fonctionne pour moi:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs _
Filename:="daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Date,"yyyy.mm.dd") & ".xls"
ThisWorkbook.Saved = True
End Sub

J'ai inversé le sens d'écriture de la date (2007.08.03) pour faciliter le
classement par ordre alphabétique ;-)
Par ailleurs, je pense qu'une erreur peut aussi se produire si le
répertoire de destination n'existe pas.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Effectivement je n'ai plus d'erreur de compil, mais ça n'a aucun effet
sur
l'enregistrement.
Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
Désolée, mais j'ai une erreur de compile et quand j'appuie sur le
bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"
...












Avatar
Philippe.R
Bonsoir TITUS,
Le mieux, pour obtenir de manière exacte le chemin d'enregistrement d'un
fichier, consiste à utiliser l'enregistreur de macros (outils / macro /
nouvelle macro) pendant qu'on procède à un enregistrement ; on a ainsi la
syntaxe exacte pour atteindre le lecteur, le dossier et sous dossier
éventuel et il ne reste plus qu'à adapter pour le nom de fichier.
Cordialement
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Effectivement je n'ai plus d'erreur de compil, mais ça n'a aucun effet sur
l'enregistrement.



Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
"TITUS" a écrit dans le message de
news:

Désolée, mais j'ai une erreur de compile et quand j'appuie sur le
bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"




Bonsoir,
Dans le Private Sub Workbook_BeforeClose(Cancel As Boolean)

'la commande suivante, le chemin et le nom étant à adapter

zenom=environ("username")
ActiveWorkbook.SaveAs
Filename:ÚtatataTECNIKZAZA-MPFEMon-fichier"
& zenom & date &".xls"
thisworkbook.saved=true
end sub

'Enregistrera le fichier sur le lecteur (serveur) datatata au
répertoire
TECNIK sous répertoire ZAZA-MPFE sous un nom composé du nom de base du
fichier, du nom de l'utilisateur et de la date
--
Philippe.R
"TITUS" a écrit dans le message de
news:
Existe-til un moyen sur un classeur XLT de forcer l'utilisateur à
faire
un
enregistrer sous et d'enregistrer le fichier dans un répertoire
précis
du
réseau, sans qu'il n'ai a le chercher (le répertoire). ?

Merci
cordialement
TITUS
















Avatar
TITUS
Ca fonctionne bien, j'ai réussi à mettre tout ça correctement et comme
j'avance, il ressort que l'enregistrement doit être vérifié avant écriture
sur le réseau. c'est à dire que nous devons re'ster sur la fenêtre
enregistrer sous afin de pouvoir mettre une numérotation à la suite.
J'explique :
Mes fichiers doivent s'enregistrer de la façon suivante :
NOM_PRENOM_070806.xls
Quand nous faisons un 2ème document pour la meme personne dans la même
journée, nous devons entrer :
NOM_PRENOM_070806_2.xls,
etc...

Sachant que NOM et PRENOM sont déjà saisis dans l'adresse en E2 sans "_" de
séparation, peut-on prendre cette zone E2 mettre un "_" entre le nom et le
prénom, coller derrière la date EN yymmjj et laisser ainsi dans la fenêtre
ENREGISTRER SOUS le curseur clignoter pour ajouter "_2" ou "_3" ou "_4",
etc....

-----------------------------------
J'ai testé la macro comme disait Pi=hilippe R, mais ça ne satisfait pas
vraiment - Merci quand même Philippe.

Cordialement
TITUS



Re,
Je viens de faire le test.
Chez moi, une erreur s'affiche due aux dates qui s'écrivent avec des slashs
(/), caractère qui n'est pas accepté par Windows pour les noms de fichiers.
J'ai testé cette version qui fonctionne pour moi:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs _
Filename:="daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Date,"yyyy.mm.dd") & ".xls"
ThisWorkbook.Saved = True
End Sub

J'ai inversé le sens d'écriture de la date (2007.08.03) pour faciliter le
classement par ordre alphabétique ;-)
Par ailleurs, je pense qu'une erreur peut aussi se produire si le répertoire
de destination n'existe pas.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Effectivement je n'ai plus d'erreur de compil, mais ça n'a aucun effet sur
l'enregistrement.
Bonjour, TITUS
Il me semble qu'il manque les guillemets au début du Filename:
Filename:="...
C'est mieux ?
--
Bonne continuation
Désolée, mais j'ai une erreur de compile et quand j'appuie sur le
bouton
aide, à priori il s'agirait d'un erreur de parenthèse.
Pourriez-vous m'aider. voici ce que j'ai rentré :
"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs
Filename:Úglag1publicDevis_DentairesMon-fichier"& zenom & date
&".xls"
ThisWorkbook.Saved = True
End Sub
"
Et il n'ya aucun effet, l'enregistrement reste sur "Mes documents"
...













Avatar
Gilles MOUGNOZ
Bonjour, TITUS

Plutôt que de gérer des numéros successifs, je te propose d'ajouter l'heure
et la minute courante. Pour cela, dans ma macro, remplace
<Format(Date,"yyyy.mm.dd")> par <Format(Now,"yymmddhhnn")>. Tu peux même
ajouter les secondes ("yymmddhhnnss").
Si tu veux vraiment avoir un numéro d'ordre, il faut modifier légèrement ta
procédure pour vérifier si le fichier existe déjà:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
NomFichier = "daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Now,"yymmddhhnn") & ".xls"
If Len(Dir(NomFichier))=0 Then
NumeroFichier = 2
While Len(Dir(NomFichier & "_" & NumeroFichier))=0
NumeroFichier = NumeroFichier+1
Wend
NomFichier = NomFichier & "_" & NumeroFichier
End If
ActiveWorkbook.SaveAs Filename:=NomFichier
ThisWorkbook.Saved = True
End Sub

--
Bonne continuation
-------------------------------------------------------------------------------------------
Ca fonctionne bien, j'ai réussi à mettre tout ça correctement et comme
j'avance, il ressort que l'enregistrement doit être vérifié avant écriture
sur le réseau. c'est à dire que nous devons re'ster sur la fenêtre
enregistrer sous afin de pouvoir mettre une numérotation à la suite.
J'explique :
Mes fichiers doivent s'enregistrer de la façon suivante :
NOM_PRENOM_070806.xls
Quand nous faisons un 2ème document pour la meme personne dans la même
journée, nous devons entrer :
NOM_PRENOM_070806_2.xls,
etc...

Sachant que NOM et PRENOM sont déjà saisis dans l'adresse en E2 sans "_"
de
séparation, peut-on prendre cette zone E2 mettre un "_" entre le nom et le
prénom, coller derrière la date EN yymmjj et laisser ainsi dans la fenêtre
ENREGISTRER SOUS le curseur clignoter pour ajouter "_2" ou "_3" ou "_4",
etc....
-----------------------------------
J'ai testé la macro comme disait Pi=hilippe R, mais ça ne satisfait pas
vraiment - Merci quand même Philippe.

Cordialement
TITUS


Re,
Je viens de faire le test.
Chez moi, une erreur s'affiche due aux dates qui s'écrivent avec des
slashs
(/), caractère qui n'est pas accepté par Windows pour les noms de
fichiers.
J'ai testé cette version qui fonctionne pour moi:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs _
Filename:="daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Date,"yyyy.mm.dd") & ".xls"
ThisWorkbook.Saved = True
End Sub

J'ai inversé le sens d'écriture de la date (2007.08.03) pour faciliter le
classement par ordre alphabétique ;-)
Par ailleurs, je pense qu'une erreur peut aussi se produire si le
répertoire
de destination n'existe pas.
--
Bonne continuation




Avatar
TITUS
J'obtiens une erreur d'exécution '13' : incompatibilité de type
et la ligne
If Len(Dir(NomFichier))=0 Then
est surlignée en Jaune
quand je veux fermer le document.

Pour le futur :
Si je veux réouvrir le document après un temps donné juste pour le lire, le
fichier va de nouveau se numéroter lors de la fermeture !!!
Ne faudrait-il pas mieux faire ces macros d'enregistrement avant la
fermeture, quand on clique sur le bouton enregistrer plustôt ?

Qu'en pensez-vous ?

Bonjour, TITUS

Plutôt que de gérer des numéros successifs, je te propose d'ajouter l'heure
et la minute courante. Pour cela, dans ma macro, remplace
<Format(Date,"yyyy.mm.dd")> par <Format(Now,"yymmddhhnn")>. Tu peux même
ajouter les secondes ("yymmddhhnnss").
Si tu veux vraiment avoir un numéro d'ordre, il faut modifier légèrement ta
procédure pour vérifier si le fichier existe déjà:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
NomFichier = "daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Now,"yymmddhhnn") & ".xls"
If Len(Dir(NomFichier))=0 Then
NumeroFichier = 2
While Len(Dir(NomFichier & "_" & NumeroFichier))=0
NumeroFichier = NumeroFichier+1
Wend
NomFichier = NomFichier & "_" & NumeroFichier
End If
ActiveWorkbook.SaveAs Filename:=NomFichier
ThisWorkbook.Saved = True
End Sub

--
Bonne continuation
-------------------------------------------------------------------------------------------
Ca fonctionne bien, j'ai réussi à mettre tout ça correctement et comme
j'avance, il ressort que l'enregistrement doit être vérifié avant écriture
sur le réseau. c'est à dire que nous devons re'ster sur la fenêtre
enregistrer sous afin de pouvoir mettre une numérotation à la suite.
J'explique :
Mes fichiers doivent s'enregistrer de la façon suivante :
NOM_PRENOM_070806.xls
Quand nous faisons un 2ème document pour la meme personne dans la même
journée, nous devons entrer :
NOM_PRENOM_070806_2.xls,
etc...

Sachant que NOM et PRENOM sont déjà saisis dans l'adresse en E2 sans "_"
de
séparation, peut-on prendre cette zone E2 mettre un "_" entre le nom et le
prénom, coller derrière la date EN yymmjj et laisser ainsi dans la fenêtre
ENREGISTRER SOUS le curseur clignoter pour ajouter "_2" ou "_3" ou "_4",
etc....
-----------------------------------
J'ai testé la macro comme disait Pi=hilippe R, mais ça ne satisfait pas
vraiment - Merci quand même Philippe.

Cordialement
TITUS


Re,
Je viens de faire le test.
Chez moi, une erreur s'affiche due aux dates qui s'écrivent avec des
slashs
(/), caractère qui n'est pas accepté par Windows pour les noms de
fichiers.
J'ai testé cette version qui fonctionne pour moi:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
zenom = Environ("username")
ActiveWorkbook.SaveAs _
Filename:="daglag1publicDevis_DentairesMon-fichier" _
& zenom & Format(Date,"yyyy.mm.dd") & ".xls"
ThisWorkbook.Saved = True
End Sub

J'ai inversé le sens d'écriture de la date (2007.08.03) pour faciliter le
classement par ordre alphabétique ;-)
Par ailleurs, je pense qu'une erreur peut aussi se produire si le
répertoire
de destination n'existe pas.
--
Bonne continuation









1 2