OVH Cloud OVH Cloud

Excel efface modifie un classeur en le fermant...

3 réponses
Avatar
elesnam
Bonjour
J'ai une application Excel avec macros VBA qui ouvre un=20
classeur, modifie les donn=E9es d'une feuille et le referme=20
avec sauvegarde.De temps en temps,le classeur est=20
enregistr=E9 avec la feuille vide, et renomm=E9e du ,om du=20
classeur.Par contre, le classeur correct est enregistr=E9=20
sous un nom compos=E9 de chiffres et de lettres (par exemple=20
0A3C5000) dans le bon r=E9pertoire...Que se passe-t-il?
Merci si quelqu'un peut m'aider

3 réponses

Avatar
Philippe.R
Bonsoir,
Ce serait plus facile si tu pouvais recopier ici (sans pièce jointe) le code de la procédure de
fermeture ; auto_close ou beforeClose.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"elesnam" a écrit dans le message de
news:0bb301c4a6fa$dbcf5790$
Bonjour
J'ai une application Excel avec macros VBA qui ouvre un
classeur, modifie les données d'une feuille et le referme
avec sauvegarde.De temps en temps,le classeur est
enregistré avec la feuille vide, et renommée du ,om du
classeur.Par contre, le classeur correct est enregistré
sous un nom composé de chiffres et de lettres (par exemple
0A3C5000) dans le bon répertoire...Que se passe-t-il?
Merci si quelqu'un peut m'aider
Avatar
Voici la procédure "incriminée" (elle est executée
plusieurs fois dans le programme:Le programme
s'appelle "Validation_DM_V1.xls",il comprend une
feuille "DM" et une feuille "base", et il appelle pour
travailler un dossier "base_encours.xls",
feuille"basic".C'est ce dernier dossier qui est détruit de
temps en temps, et remplacé par un dossier
vide "base_encours.xls", feuille unique "base_encours".

Dim i, j
Application.ScreenUpdating = False
i = Worksheets("DM").Cells(6, 29)
j = Worksheets("DM").Cells(6, 30)

Workbooks.Open
filename:="S:BTXBTX_PARTAGECREATION_DMbasesbase_encour
s.xls"
Workbooks("base_encours.xls").Worksheets
("basic").Unprotect password:="070944"
With Workbooks("Validation_DM_V1.xls").Worksheets
("base")
.Range(.Cells(i, 1), _
.Cells(i, 125)).Copy _
Destination:=Workbooks
("base_encours.xls").Worksheets("basic").Cells(j, 1)
End With
Workbooks("base_encours.xls").Worksheets
("basic").Protect password:="070944"

'******************************************
Workbooks("base_encours.xls").Close savechanges:=True
'*******************************************

etc...
-----Message d'origine-----
Bonsoir,
Ce serait plus facile si tu pouvais recopier ici (sans
pièce jointe) le code de la procédure de

fermeture ; auto_close ou beforeClose.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"elesnam" a écrit
dans le message de

news:0bb301c4a6fa$dbcf5790$
Bonjour
J'ai une application Excel avec macros VBA qui ouvre un
classeur, modifie les données d'une feuille et le referme
avec sauvegarde.De temps en temps,le classeur est
enregistré avec la feuille vide, et renommée du ,om du
classeur.Par contre, le classeur correct est enregistré
sous un nom composé de chiffres et de lettres (par exemple
0A3C5000) dans le bon répertoire...Que se passe-t-il?
Merci si quelqu'un peut m'aider


.



Avatar
Philippe.R
Bonsoir,
La seule explication qui me vienne à l'esprit porte sur la fermeture qui pourrait intervenir trop
rapidement ; du coup, un petit doevents ne devrait pas faire de mal ici :

Destination:=Workbooks ("base_encours.xls").Worksheets("basic").Cells(j, 1)
End With
DoEvents
Workbooks("base_encours.xls").Worksheets("basic").Protect password:="070944"

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

a écrit dans le message de
news:221d01c4a7b9$d7093630$


Voici la procédure "incriminée" (elle est executée
plusieurs fois dans le programme:Le programme
s'appelle "Validation_DM_V1.xls",il comprend une
feuille "DM" et une feuille "base", et il appelle pour
travailler un dossier "base_encours.xls",
feuille"basic".C'est ce dernier dossier qui est détruit de
temps en temps, et remplacé par un dossier
vide "base_encours.xls", feuille unique "base_encours".

Dim i, j
Application.ScreenUpdating = False
i = Worksheets("DM").Cells(6, 29)
j = Worksheets("DM").Cells(6, 30)

Workbooks.Open
filename:="S:BTXBTX_PARTAGECREATION_DMbasesbase_encour
s.xls"
Workbooks("base_encours.xls").Worksheets
("basic").Unprotect password:="070944"
With Workbooks("Validation_DM_V1.xls").Worksheets
("base")
.Range(.Cells(i, 1), _
.Cells(i, 125)).Copy _
Destination:=Workbooks
("base_encours.xls").Worksheets("basic").Cells(j, 1)
End With
Workbooks("base_encours.xls").Worksheets
("basic").Protect password:="070944"

'******************************************
Workbooks("base_encours.xls").Close savechanges:=True
'*******************************************

etc...
-----Message d'origine-----
Bonsoir,
Ce serait plus facile si tu pouvais recopier ici (sans
pièce jointe) le code de la procédure de

fermeture ; auto_close ou beforeClose.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"elesnam" a écrit
dans le message de

news:0bb301c4a6fa$dbcf5790$
Bonjour
J'ai une application Excel avec macros VBA qui ouvre un
classeur, modifie les données d'une feuille et le referme
avec sauvegarde.De temps en temps,le classeur est
enregistré avec la feuille vide, et renommée du ,om du
classeur.Par contre, le classeur correct est enregistré
sous un nom composé de chiffres et de lettres (par exemple
0A3C5000) dans le bon répertoire...Que se passe-t-il?
Merci si quelqu'un peut m'aider


.