Macro exécutable à chaque fois qu'on ouvre un fichier

Bonjour les chevronnés

J'ai un énorme besoin de votre aide. J'aimerais qu'une macro s'exécute à chaque fois que l'on ouvre le fichier joint avec ce message.

Le fichier, je crois, est assez explicite et contient assez d'élément pour que vous compreniez ce que je veux.

Je suis à votre disposition pour vous donner plus de précision. Personnellement je crois que la macro que je voudrais ne puisse se faire. Mais vous pouvez me surprendre.

Merci de travailler sur mon cas

Jean, Montréal (Québec) Canada.

JT a écrit :

Personnellement je crois que la macro que je voudrais ne puisse se faire. Mais vous pouvez me surprendre.

Personnellement je pense que si !

A l'ouverture

Private Sub Workbook_Open()

End Sub

Il faut que tu mettes ceci :

teste le jour en question (lundi, mardi etc...)

si la case correspondante est vide, calcule et met la valeur

ajoute en dessous la formule permettant d'actualiser la valeur en dessous

et fige les valeurs des jours précédents

Si tu connais le langage VBA, essaie, sinon j'essaie de voir (pas garanti) dans la journée, mais j'ai un gros déplacement à faire !

Bonjour,

Macros à coller dans le module ThisWorkbook

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim DC#
DC = Now
Me.Names("LastClosed").Value = DC
Worksheets("Suivis BT Quotidien").Cells(9, Weekday(Date, 2) + 4) = NBPrior()
End Sub

Private Sub Workbook_Open()
If FirstOpen Then
Worksheets("Suivis BT Quotidien").Cells(8, Weekday(Date, 2) + 4) = NBPrior()
Else
Worksheets("Suivis BT Quotidien").Cells(9, Weekday(Date, 2) + 4) = NBPrior()
End If
End Sub

Private Function FirstOpen() As Boolean
Dim DC#, LC#
LC = Split(Me.Names("LastClosed"), "=")(1)
DC = Now
FirstOpen = Day(DC) > Day(LC)
End Function

Private Function NBPrior()
NBPrior = Application.CountA(Worksheets("Suivis BT Quotidien").Range("B:B")) - 1
End Function

Nota : Il est nécessaire de créer un nouveau Nom dans le classeur (Onglet Formule > Gestionnaire de Nom)

Ce nom sera "LastClosed"

...avec une valeur quelconque. (=100 par exemple)

Ensuite fermer le classeur. La macro "BeforeClose" enregistre la dernière valeur du jour.

Les macros fonctionneront normalement dès la prochaine ouverture.

A+

Il y a un petit bog dans la macro Message d'erreur est '' FirstOpen = Day(DC) > Day(LC) '' Je vous retourne le fichier avec la macro dans This work book. Merci

bonsoir,

Je n'ai pas d'erreur.

Quel est le message ?

A+

Allo Mr. Galopin. SVP essayer le fichier, les valeurs ne suivent pas. Erreur 'exécution # 13, incompatibilité de type a l'ouverture du fichier. Je voudrais vous joindre la photo de l'erreur mais je ne sais pas comment !

Bonjour,

Désolé !

Remplacer toutes les macros :

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim DC#
DC = Now
Me.Names("LastClosed").Value = DC
Worksheets("KPI").Cells(9, Weekday(Date, 2) + 4) = NBPrior()
End Sub

Private Sub Workbook_Open()
If FirstOpen Then
Worksheets("KPI").Cells(8, Weekday(Date, 2) + 4) = NBPrior()
Else
Worksheets("KPI").Cells(9, Weekday(Date, 2) + 4) = NBPrior()
End If
End Sub

Private Function FirstOpen() As Boolean
Dim DC#, LC#
LC = Split(Me.Names("LastClosed"), "=")(1)
DC = Now
FirstOpen = Fix(DC) > Fix(LC)
End Function

Private Function NBPrior()
NBPrior = Application.CountA(Worksheets("Suivis BT Quotidien").Range("B:B")) - 1
End Function

Et... dans le Gestionnaire de Nom Modifier LastClosed

Fait référence à : mettre 42124

Enregistrer le classeur puis...

Quittez sans Enregisrer

A+

Bonjour Galopin

Nous ne sommes pas mort. Dany doit tester la macro jusqu'à vendredi prochain en usine. nous vous donnerons des nouvelles bientôt. Elle semble faire le travail. nous confirmerons avec un crochet en temps et lieu la résolution de cette demande.

Absolument, je teste le tout en usine toute la semaine prochaine du lundi au vendredi et communiquerait avec vous tous. Merci et a plus Dany

Merci les chevronnés.

la macro fait son travail hebdomadaire comme prévue et comme programmé, de la part de Dany un gros merci.

JT a écrit :

Merci les chevronnés.

la macro fait son travail hebdomadaire comme prévue et comme programmé, de la part de Dany un gros merci.

Merci a tous, la macro fait bien son travail comme demander. Merci Mr Galopin Dany

Rechercher des sujets similaires à "macro executable chaque fois ouvre fichier"