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
10
Affichages
281
Réponses
4
Affichages
177
Réponses
9
Affichages
201
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
4
Affichages
243
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
2
Affichages
330
Réponses
2
Affichages
153
Réponses
8
Affichages
468
Réponses
2
Affichages
461
Retour