J'ai une ptite qustion que est l'ooption ou la chose a faire lorsque j'ouvre mon classeur comme suivant
Code :
Set Classeur = xls.Workbooks.Open("C:\Temp\e_analyse_croisée.xls" )
je fais des manipulation (mise en page etc...)
et des ke je ferme (a la main ma fenetre excel)
il me pause la kestion chiante
"voulez vous enregister les modification apportés a e_analyse_croisée.xls"
avec le oui non et annuler j'aimerais ne pas avoir cette question lorsque je ferme a la main ma fenetre Est-ce possible??
Je remercie d'avance ceux qui apporteront leur aide
Message édité par darkspoilt le 15-11-2007 à 10:35:52
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Me.Saved Then
MsgBox "Cliquez sur [OK] pour ne pas voir le message d'enregistrement."
Me.Saved = True
End If
End Sub
EDIT: Grilled !!! J'en profite pour alerter sur ta méthode. Si tu as plusieurs classeurs ouverts dans la même session d'Excel, il faudra penser à remettre les alertes à VRAI si tu ne veux pas que ce comportement soit général.
Tu fais ca directement dans Excel?? je me suis mal exprimé je suis d'access kom d'habitude. mais bon pour l'instant que le comportmeent soit général ca me dérange pas donc voila
Oui, le code proposé est pour Excel. Et tu as suffisament posté ici pour que je prenne la peine de considérer ton cas. Désolé.
Tentative de rattrapage aux branches basses : Bien sûr quand tu proposes application.DisplayAlerts, tu considères l'appliaction excel, c'est à dire dans ton code à toi (sous MSAccess) :
xls.DisplayAlerts = False
Tu peux aussi regarder du côté de la fonction Workbook.Open, surtout du troisième paramètre qui est bien nommé ReadOnly
Rhooooooooooooo !!!!!!!! Alors là, je mets illico ton message en favori.
Exercice : faire la liste de tous les messages de zeb où celui-ci peste contre l'utilisation des ActiveTruc, SelectedMachin, etc......
Tu es dans quelle procédures/fonction ? Si c'est l'une du classeur, tu peux utiliser ThisWorkbook. Si tu as définis un objet Workbook, (Set wb = ... ), utilise wb.Save/Close.
car ThisWorkbook c'est pas la bonne Enfin merci
Je sais que c'est crade meme moi je l'avoue mais j'ai pas le courage de reprendre le code (et le temps aussi)
Grrrrrrr Et tu oses le poster. Après i' vont tous faire comme toi.
Code :
Dim wb As Workbook
Set wb = Workbooks("toto.xls" )
Application.DisplayAlerts = False
wb.Save
wb.Close
Application.DisplayAlerts = True
Ou encore pour les encore plus gros fainéants ( )
Code :
Application.DisplayAlerts = False
With Workbooks("toto.xls" )
Save
Close
End With
Application.DisplayAlerts = True
Je rappelle que entre les lignes 2 et 3 ou 3 et 4 de ton code, il peut se passer des choses, genre la fenêtre active change. C'est peu probable, mais pas impossible.
Combien factures-tu les modifs ? ... Ben ce n'est pas assez cher payé.
En plus, tu as écris 5 lignes pour 140 caractères, moi je t'en propose 6 pour 114. Comme je suis sûr que tu n'es ni payé à la ligne, ni au caractère, autant bien faire les choses.
Je n'ai logikement pas le droit de toucher au programme car c celui de mon supérieur, je dois me basé sur son programme pour en créer un autre car celui ke j'ai modifer définitif plu le droit de toucher mais kand je créer le miens t'inkiete pas il sera plus propre