Nom du classeur dans cellule, mise a jour automatique

Bonjour,

je souhaite que ma cellule intitulée nom reprenne le nom de mon classeur. J'ai trouvé la formule qui me permets de le faire.

 Range("nom").Select
    ActiveCell.FormulaR1C1 = _
        "=MID(CELL(""filename""),FIND(""["",CELL(""filename""))+1,SUM(FIND({""["";""]""},CELL(""filename""))*{-1;1})-6)"

Je rencontre un probleme quand je modifie le nom de mon fichier. La cellule ne reprend pas le nouveau nom. Savez vous comment faire pour que le nouveau nom soit pris en compte, c'est a dire comment activer la macro apres chaque nouvel enregistrement et changement de nom?

merci

Charles.

Bonjour,

sans avoir testé essais de mettre ceci dans le "thisworkook" du code vba :

Private Sub Workbook_Open()

Range("nom").Select
    ActiveCell.FormulaR1C1 = _
        "=MID(CELL(""filename""),FIND(""["",CELL(""filename""))+1,SUM(FIND({""["";""]""},CELL(""filename""))*{-1;1})-6)"

End Sub

Cordialement,

J'ai essayé mais cela ne resoud pas mon probleme

Bizarre, après test, cela fonctionne chez moi, à la réouverture du fichier la cellule change bien de nom.

Tu veux aussi que la cellule change dés l'enregistrer sous alors que le fichier est resté ouvert ?

Cordialement,

Oui en fait, je souhaiterais que la cellule change dés l'enregistrer sous alors que le fichier est resté ouvert ?

Le problème d'un enregistrer sous, c'est que le fichier original se ferme en même temps que celui avec le nouveau nom s'ouvre mais le nouveau ne s'ouvre pas "vraiment" donc l'évènement Workbook_Open ne se déclenche pas, et comme il faut garder l'ancien nom dans le fichier d'origine, on ne peut pas modifier le contenu de la cellule avant la sauvegarde.

Enfin personnellement, je ne vois pas trop comment bidouiller ça dans un event du type Workbook_BeforeSave, même en ajoutant le bout de code dans un Worksheet_Activate, cela ne passe pas, il faut changer de feuille et y revenir.

Mes connaissances VBA ne me permettent pas de t'aider plus sans passer par l'ajout d'un bouton exprès pour sauvegarder.

Désolé

Bonjour Devaux le forum

tu peux envoyer le fichier avec les explications dedans, je te fais cela par retour ( enfin je pense )

a+

Papou

Bon finalement si, j'ai réussi à trouver ^^

Essais avec ceci dans le "ThisWorkbook" :

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

Range("nom").Select
    ActiveCell.FormulaR1C1 = _
        "=MID(CELL(""filename""),FIND(""["",CELL(""filename""))+1,SUM(FIND({""["";""]""},CELL(""filename""))*{-1;1})-6)"

End Sub

Cordialement,

Bonjour,

Finalement je me contente pour l'instant à ce que la modification soit effective a la réouverture d'un fichier. Ce qui pour l'instant me suffit. Je reviendrai surrement aupres de vous pour de nouvelles aides.

Je vous remercie.

Charles

Rechercher des sujets similaires à "nom classeur mise jour automatique"