Microsoft 365 Activation macro ouverture classeur

  • Initiateur de la discussion Initiateur de la discussion NormL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

NormL

XLDnaute Nouveau
Bonjour à tous

Je sais bien que çà revient souvent cette demande mais j'ai un problème à faire activer la macro qui devrait ouvrir le classeur, mettre la date du jour dans la colonne B à la dernière cellule et finalement que la dite cellule se copie en valeur absolue. J'ai un début de code qui fonctionnait mais qui n'ouvrait pas automatiquement le classeur. J'inclus le fichier en espérant une solution. Je ne suis pas un expert dans les macros mais je les aimes bien.
Dim lig&: lig = Cells(Rows.Count, 2).End(xlUp)(2).Row
With Cells(lig, 2)
If lig > 1 Then If .Offset(-1) = Date Then Exit Sub
.Value = Date
If lig > 2 Then .Offset(, -1) = .Value - .Offset(-1)
End With
End Sub
 

Pièces jointes

Solution
Bonjour Norml,
Pour qu'une macro s’exécute à l'ouverture du fichier, elle doit être impérativement placée dans ThisWorkbook et s'appeler Workbook_Open.
Ci joint un essai avec :
VB:
Private Sub Workbook_Open()
    Sheets("Test_Activate").Activate                                ' Active la feuille
    DerLig = Sheets("Test_Activate").Range("B65500").End(xlUp).Row  ' Calcule la dernière ligne occupée de Col B
    Cells(1 + DerLig, 2) = Int(Now)                                 ' Met la date dans la première cellule vide
End Sub
Bonjour Norml,
Pour qu'une macro s’exécute à l'ouverture du fichier, elle doit être impérativement placée dans ThisWorkbook et s'appeler Workbook_Open.
Ci joint un essai avec :
VB:
Private Sub Workbook_Open()
    Sheets("Test_Activate").Activate                                ' Active la feuille
    DerLig = Sheets("Test_Activate").Range("B65500").End(xlUp).Row  ' Calcule la dernière ligne occupée de Col B
    Cells(1 + DerLig, 2) = Int(Now)                                 ' Met la date dans la première cellule vide
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
461
Réponses
5
Affichages
243
Réponses
4
Affichages
180
Réponses
10
Affichages
282
Réponses
7
Affichages
212
Réponses
9
Affichages
201
Retour