Problème de fermeture auto d'un classeur.

white-spirit

XLDnaute Occasionnel
Bonjour Le Forum,

je n'arrive pas à résoudre un petit problème de fermeture autonome d'un classeur ...

L'exemple se trouve dans ce fichier :
-Regarde la pièce jointe New name .xls

Ce classeur comprend du code pour lier en temps réel les modifications d'une liste de choix avec les cellules renseignées par cette liste (pour éviter de repasser pour mettre à jour). (Merci Robert!!)

Explication de ce que je veux:
Dans ce classeur, j'ai aussi une procédure de forçage du format d'enregistement à ".xls"
Soit sans changer de nom si C1 est vide
Soit en adoptant un préfixe + C1 si C1 non vide

Quand je click sur le bouton Enregistrer (disquette) , si 1er cas RAS, si 2e cas, Excel plante ....(récup auto, etc...)
D'après les essais & déductions que j'ai fait ce serait lié à la présence d'Option Explicit et de l'évènement Change
(en tout cas, si je supprime tout ça, la manip fonctionne...)
Donc, il faut une solution pour contourner ça, mais je ne trouve pas !!

Merci d'avance a ceux qui sauront analyser ce qui coince ...

Cordialement

WS
 

job75

XLDnaute Barbatruc
Re : Problème de fermeture auto d'un classeur.

Bonjour white-spirit,

Très classique, il y a bouclage de la macro, donc écrire :

Code:
Application.EnableEvents = False 'désactive les événements
Do
  R.Value = Target.Value
  Set R = PLD.FindNext(R)
Loop While Not R Is Nothing And R.Address <> PA
Application.EnableEvents = True 'réactive les événements
A+
 

job75

XLDnaute Barbatruc
Re : Problème de fermeture auto d'un classeur.

Re,

Pardon, c'est la macro BeforeSave qui est concernée :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim nom As String
Dim chemin As String
Dim titre As String
Application.DisplayAlerts = False
titre = Me.Name
nom = "New name  " & Feuil1.Range("C1").Text & ".xls"
chemin = Me.Path & "\" & nom
If nom <> titre Then
Cancel = True
Application.EnableEvents = False
Me.Save
Me.SaveAs Filename:=chemin
Application.EnableEvents = True
End If
End Sub
A+
 

white-spirit

XLDnaute Occasionnel
Re : Problème de fermeture auto d'un classeur.

Re-bonjour Job75,

Merci beaucoup d'avoir regardé ce problème, ta solution fonctionne parfaitement.

J'apprends VBA par l'exemple, alors je ne sais pas tjrs analyser ...

Bonne journée.

Cordialement

@WS
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87