Bonjour à tous,
Je débute en VBA. Je voudrais me positionner sur la date du jour à l'ouverture d'une feuille Excel (en fait faire clignoter la cellule qui contient la date du jour.
Merci de votre aide
Bonjour à tous,
Je débute en VBA. Je voudrais me positionner sur la date du jour à l'ouverture d'une feuille Excel (en fait faire clignoter la cellule qui contient la date du jour.
Merci de votre aide
Bonjour,
Il y a plusieurs façons de faire clignoter une cellule, en voici une. A mettre dans le module du classeur (ThisWorkbook) et activer la feuille "Feuil1" pour le test (sélectionner une autre puis revenir si elle est déjà active) :
Hervé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 Private Declare Function GetTickCount Lib "Kernel32" () As Long Sub Minuterie(Milliseconde As Long) 'ici, ne rien modifier... Dim Arret As Long Arret = GetTickCount() + Milliseconde Do While GetTickCount() < Arret DoEvents Loop End Sub Sub Clignote(NomFeuille As String) Dim Plage As Range Dim Cel As Range Dim I As Integer 'défini la plage de recherche en colonne A de la feuille passée en argument With Worksheets(NomFeuille) Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With 'effectue la recherche. ATTENTION, les dates doivent être au format Date et non texte 'la comparaison se faisant sur les longs Set Cel = Plage.Find(Date, , xlValues, xlWhole) 'si trouvée... If Not Cel Is Nothing Then 'lance le clignotement Do While I < 10 Cel.Interior.ColorIndex = 3 Minuterie 500 Cel.Interior.ColorIndex = 0 Minuterie 500 I = I + 1 Loop 'et remets de façon certaine la couleur en automatique 'si la cellule contient une couleur, il faut la mémoriser avant le clignotement 'afin de la rétablir ici Cel.Interior.ColorIndex = 0 End If End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) 'un drapeau peut être utiliser si on souhaite un seul clignotement 'adapter le nom de la feuille... If Sh.Name = "Feuil1" Then Clignote (Sh.Name) End Sub
Merci infiniment.
ça fonctionne. Vous êtes Top!
Solon
Partager