Workbook AfterSave

Bonjour tout le monde!

J'essaye d'utiliser l'évènement Workbook_AfterSave, masi sans succès.

En gros j'ai une feuille qui me sert de base de données, que je retransfère ensuite dans une autre base plus générale.

A chaque ligne de ma base j'ai donc besoin d'avoir le nom du classeur, pour pouvoir y retourner depuis la base générale...

Bon bref tout ce qui importe c'est d'avoir le nom des cases voulues qui prennent bien le nom de classeur quand on enregistre en changeant de nom.

voilà le code tenté:

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

If Success Then

Dim z, c As Integer
z = 5
c = z

    While Sheets(Injection_Base).Range("AC" & c).Interior.ColorIndex = 2
        Range("AC" & c) = ActiveWorkbook.Name
        c = c + 1
    Wend

End If

End Sub

Je vous remercie déjà bien fort!


Ah désolé je n'ai pas précisé, mais quand j'enregistre, ça s'enregistre bien, et il ne se passe juste rien!

Thanks!

Bonjour,

Es-tu sûr de pouvoir appliquer l'évènement Workbook.Aftersave ?

De mon coté, j'ai testé le Work Bouc After Shave, ça marche au poil mais ça barbe vite .

A+

une balgue VBA! Une première pour moi

Merci quand même =)

Plus sérieusement, je ne connais pas d'évènement Workbook.Aftersave utilisable avec Excel 2003.

Il me semble que cette fonctionnalité a été ajouté avec Excel 2010.

A+

Ah oui c'est vrai que je n'y connais absolument rien dans les différences entre les versions d'excel, c'est bien possible...

En plus quand j'y réfléchis, il me faudrait plutôt un évènement du genre "JustBeforeSave".

Si je comprends bien ton code, tu souhaites inscrire le nom du classeur qui te sert de base de données dans chaque cellule de la plage AC5 à ACx de la feuille "Injection_Base" de ce même classeur, x correspondant à la ligne de la dernière cellule remplie par une couleur blanche.

Nulle part il n’est fait référence à la base générale.

C’est bien cela ?

A+

Bonjour le forum

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 On Error GoTo erreur
 varname = Sheets("Feuil1").Range("g17").Value
 fname = InputBox("enregistrer le fichier sous le nom", "Enregistrement", varname)
 ActiveWorkbook.SaveAs Filename:=fname
 Exit Sub
erreur:
  rep = MsgBox("Une erreur c'est produite, voulez vous quitter sans sauvegarder", vbYesNo)
  If rep = 7 Then Cancel = True
End Sub

un code qui permet de sauvegarder en fermant par la croix en renommant automatiquement le fichier par le nom qui est en "G17" mais peut etre ailleurs

je ne sais pas si cela va aidez

Pascal

Bonjour

Merci Pascal, je vais consulter ça dès que j'aurai le temps!

Rechercher des sujets similaires à "workbook aftersave"