OVH Cloud OVH Cloud

une sauvegarde qui....

5 réponses
Avatar
jps
....ni ne sauve, ni ne garde
bonjour à tous avec une mention spéciale vers chrisV dont je salue le retour
au bercail...
moi, j'ai le chic pour n'avoir que des chibrelots dans mon usine à gaz...
je m'esseuplique :
si j'écris cela dans le BeforeClose d'un fichier :

ThisWorkbook.SaveCopyAs "C:\Sauvegarde Automatique\" &
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "2.xls"

comment se fait-ce que certains Workbooks en question échappent à la
sauvegarde lorsqu'ils sont fermés par des macros écrites dans le Perso.xls,
que la demande d'exécution de la femeture soit écrite avec
ActiveWorkbook.Close ou Workbooks("tartanpion.xls").close?
est-il mieux de dire :
ActiveWorkbook.SaveCopyAs "C:\Sauvegarde Automatique.....etc...?
merci de vous montrer meilleur gazier que moi...
jps

5 réponses

Avatar
Pierre Fauconnier
Salut jps...

Thisworbook <> activeworkbook

ThisWorkbook, c'est le nom VBA de ton classeur. Par défaut, VBA attribue ce
nom au classeur, ce qui signifie que souvent, lorsque plusieurs classeurs
sont ouverts, il y a plusieurs ThisWorkbook, différents bien entendu. Comme
ils se trouvent dans des projets VBA différents, il n'y a aucun conflit de
nom.
Mais tu peux renommer ce classeur dans VBE et dès lors, il ne s'appelle
plus... ThisWorkbook... Oeuf de course!

ActiveWorkbook est une propriété de Excel.Application qui pointe toujours
vers le classeur actif ( celui qui est actif dans Excel!! )... Par
définition, un XLA n'est donc jamais actif puisque non activable dans Excel,
et il en est de même pour perso.xls, caché donc inactivable également.

ThisWorkbook utilisé au sein d'un xla ou de perso.xls sauvera le xla ou
perso.xls, alors que activeworkbook fera référence au classeur actif dans
Excel...
Ceci explique peut-être ton problème de pas sauvé pas gardé... alors que le
prisonnier non gardé se sauve, lui... Va comprendre...

Est-ce répondre à ta question que dire cela?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"jps" <enlevezd' a écrit dans le message de news:

....ni ne sauve, ni ne garde
bonjour à tous avec une mention spéciale vers chrisV dont je salue le
retour
au bercail...
moi, j'ai le chic pour n'avoir que des chibrelots dans mon usine à gaz...
je m'esseuplique :
si j'écris cela dans le BeforeClose d'un fichier :

ThisWorkbook.SaveCopyAs "C:Sauvegarde Automatique" &
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "2.xls"

comment se fait-ce que certains Workbooks en question échappent à la
sauvegarde lorsqu'ils sont fermés par des macros écrites dans le
Perso.xls,
que la demande d'exécution de la femeture soit écrite avec
ActiveWorkbook.Close ou Workbooks("tartanpion.xls").close?
est-il mieux de dire :
ActiveWorkbook.SaveCopyAs "C:Sauvegarde Automatique.....etc...?
merci de vous montrer meilleur gazier que moi...
jps



Avatar
jps
bonjour pierre
déjà debout?
merci pour ta réponse que je vais examiner de plus près car ce qui a attiré
mon attention, c'est "plusieurs classeurs sont ouverts, qu'il y a donc
plusieurs ThisWorkbook" mais que, chez moi, ils sont dans le même projet
VBA...et c'est peut-être bien là que mon usine à gaz ne sait plus trop
quelle pipeline utiliser....
encore merci pierre et see you soon in Lièch'
jps

"Pierre Fauconnier" a écrit dans le
message de news:O8uOem$
Salut jps...

Thisworbook <> activeworkbook

ThisWorkbook, c'est le nom VBA de ton classeur. Par défaut, VBA attribue
ce

nom au classeur, ce qui signifie que souvent, lorsque plusieurs classeurs
sont ouverts, il y a plusieurs ThisWorkbook, différents bien entendu.
Comme

ils se trouvent dans des projets VBA différents, il n'y a aucun conflit de
nom.
Mais tu peux renommer ce classeur dans VBE et dès lors, il ne s'appelle
plus... ThisWorkbook... Oeuf de course!

ActiveWorkbook est une propriété de Excel.Application qui pointe toujours
vers le classeur actif ( celui qui est actif dans Excel!! )... Par
définition, un XLA n'est donc jamais actif puisque non activable dans
Excel,

et il en est de même pour perso.xls, caché donc inactivable également.

ThisWorkbook utilisé au sein d'un xla ou de perso.xls sauvera le xla ou
perso.xls, alors que activeworkbook fera référence au classeur actif dans
Excel...
Ceci explique peut-être ton problème de pas sauvé pas gardé... alors que
le

prisonnier non gardé se sauve, lui... Va comprendre...

Est-ce répondre à ta question que dire cela?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"jps" <enlevezd' a écrit dans le message de news:

....ni ne sauve, ni ne garde
bonjour à tous avec une mention spéciale vers chrisV dont je salue le
retour
au bercail...
moi, j'ai le chic pour n'avoir que des chibrelots dans mon usine à
gaz...


je m'esseuplique :
si j'écris cela dans le BeforeClose d'un fichier :

ThisWorkbook.SaveCopyAs "C:Sauvegarde Automatique" &
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "2.xls"

comment se fait-ce que certains Workbooks en question échappent à la
sauvegarde lorsqu'ils sont fermés par des macros écrites dans le
Perso.xls,
que la demande d'exécution de la femeture soit écrite avec
ActiveWorkbook.Close ou Workbooks("tartanpion.xls").close?
est-il mieux de dire :
ActiveWorkbook.SaveCopyAs "C:Sauvegarde Automatique.....etc...?
merci de vous montrer meilleur gazier que moi...
jps







Avatar
Pierre Fauconnier
Re...

Tu ne peux pas avoir plusieurs ThisWorkbook dans le même projet, les noms
d'objet étant uniques...

Mais dans la fenêtre de projets, tu peux avoir plusieurs projets dont
certains ont un ThisWorkbook ( tous si tu n'as pas renommer ton classeur (
nom VBA du classeur...))...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"jps" <enlevezd' a écrit dans le message de news:

bonjour pierre
déjà debout?
merci pour ta réponse que je vais examiner de plus près car ce qui a
attiré
mon attention, c'est "plusieurs classeurs sont ouverts, qu'il y a donc
plusieurs ThisWorkbook" mais que, chez moi, ils sont dans le même projet
VBA...et c'est peut-être bien là que mon usine à gaz ne sait plus trop
quelle pipeline utiliser....
encore merci pierre et see you soon in Lièch'
jps

"Pierre Fauconnier" a écrit dans le
message de news:O8uOem$
Salut jps...

Thisworbook <> activeworkbook

ThisWorkbook, c'est le nom VBA de ton classeur. Par défaut, VBA attribue
ce

nom au classeur, ce qui signifie que souvent, lorsque plusieurs classeurs
sont ouverts, il y a plusieurs ThisWorkbook, différents bien entendu.
Comme

ils se trouvent dans des projets VBA différents, il n'y a aucun conflit
de
nom.
Mais tu peux renommer ce classeur dans VBE et dès lors, il ne s'appelle
plus... ThisWorkbook... Oeuf de course!

ActiveWorkbook est une propriété de Excel.Application qui pointe toujours
vers le classeur actif ( celui qui est actif dans Excel!! )... Par
définition, un XLA n'est donc jamais actif puisque non activable dans
Excel,

et il en est de même pour perso.xls, caché donc inactivable également.

ThisWorkbook utilisé au sein d'un xla ou de perso.xls sauvera le xla ou
perso.xls, alors que activeworkbook fera référence au classeur actif dans
Excel...
Ceci explique peut-être ton problème de pas sauvé pas gardé... alors que
le

prisonnier non gardé se sauve, lui... Va comprendre...

Est-ce répondre à ta question que dire cela?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"jps" <enlevezd' a écrit dans le message de news:

....ni ne sauve, ni ne garde
bonjour à tous avec une mention spéciale vers chrisV dont je salue le
retour
au bercail...
moi, j'ai le chic pour n'avoir que des chibrelots dans mon usine à
gaz...


je m'esseuplique :
si j'écris cela dans le BeforeClose d'un fichier :

ThisWorkbook.SaveCopyAs "C:Sauvegarde Automatique" &
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "2.xls"

comment se fait-ce que certains Workbooks en question échappent à la
sauvegarde lorsqu'ils sont fermés par des macros écrites dans le
Perso.xls,
que la demande d'exécution de la femeture soit écrite avec
ActiveWorkbook.Close ou Workbooks("tartanpion.xls").close?
est-il mieux de dire :
ActiveWorkbook.SaveCopyAs "C:Sauvegarde Automatique.....etc...?
merci de vous montrer meilleur gazier que moi...
jps










Avatar
ChrisV
Salut JP,

Pardonne moi cette réponse tardive mon vieil ami... J'étais malheureusement
passé à côté de ton message, mais saches que cette mention me va droit au
coeur.
;-)


ChrisV


"jps" <enlevezd' a écrit dans le message de news:

....ni ne sauve, ni ne garde
bonjour à tous avec une mention spéciale vers chrisV dont je salue le
retour
au bercail...
moi, j'ai le chic pour n'avoir que des chibrelots dans mon usine à gaz...
je m'esseuplique :
si j'écris cela dans le BeforeClose d'un fichier :

ThisWorkbook.SaveCopyAs "C:Sauvegarde Automatique" &
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "2.xls"

comment se fait-ce que certains Workbooks en question échappent à la
sauvegarde lorsqu'ils sont fermés par des macros écrites dans le
Perso.xls,
que la demande d'exécution de la femeture soit écrite avec
ActiveWorkbook.Close ou Workbooks("tartanpion.xls").close?
est-il mieux de dire :
ActiveWorkbook.SaveCopyAs "C:Sauvegarde Automatique.....etc...?
merci de vous montrer meilleur gazier que moi...
jps



Avatar
jps
tout le plaisir fut pour moi, chris, et une fois de plus , nous regrettons
ton déménagement car Lille/liège, ce n'était pas la mer à boire....tout au
plus la bière à déboires...
jps

"ChrisV" a écrit dans le message de
news:
Salut JP,

Pardonne moi cette réponse tardive mon vieil ami... J'étais
malheureusement

passé à côté de ton message, mais saches que cette mention me va droit au
coeur.
;-)


ChrisV