[excel] visual basic, compteur

Résolu
thierry -  
 thierry -
Bonjour,

J'aimerais que une macro s'active UNE SEUL FOIS du 1 au 15 janvier de chaque année. J'ai donc penser à un compteur mais je n'arrive pas à le programmer.
voila le programme:
Sub Macro4()
If (Month(Now) = 12 And Day(Now) = 31 Or Day(Now) = 17 Or Day(Now) = 18 Or Day(Now) = 19 Or Day(Now) = 20 Or Day(Now) = 21 Or Day(Now) = 22 Or Day(Now) = 23 Or Day(Now) = 24 Or Day(Now) = 25 Or Day(Now) = 26 Or Day(Now) = 27 Or Day(Now) = 28 Or Day(Now) = 29 Or Day(Now) = 30) Then
x = 0
End If
If (x = 0 And Month(Now) = 1 And (Day(Now) = 1 Or Day(Now) = 2 Or Day(Now) = 3 Or Day(Now) = 4 Or Day(Now) = 5 Or Day(Now) = 6 Or Day(Now) = 7 Or Day(Now) = 8 Or Day(Now) = 9 Or Day(Now) = 10 Or Day(Now) = 11 Or Day(Now) = 12 Or Day(Now) = 13 Or Day(Now) = 14 Or Day(Now) = 15)) Then
For x = 0 To 0
MARCRO4()
x = x + 1
Next x
End If
End Sub
A voir également:

4 réponses

Bidouilleu_R Messages postés 1209 Statut Membre 295
 
En plaçant ce code à l'ouverture ...workbook_open

Sub test()


Dim Date1 As Date

Date1 = Date



If Day(Date1) < 16 And Month(Date1) = 1 Then
'entre le 1er et le 15 /01
MsgBox ("avant le 15 du mois " & Month(Date1))
'execute la macro
Else
MsgBox ("on est apres... en fait le " & Day(Date1) & " / " & Month(Date1))
ne fait rien
End If
End sub
0
thierry
 
Ok c'est super ce que tu me dit de pouvoir affiché le message. cependant j'airemais que ce message apparaisse une seul fois pendans les 15 jours. En fait je vais faire en sorte que le message indique "réinitialiser le tableau" mais il faut le faire que une foi. (en fait c'est un rappel pour réinitialiser que je veux).
est ce que c'est possible...
merci d'avance
0
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
Désolé j'en ai oublié un bout.

il faut garder en mémoire sur une feuille l'état du compteur.
pour simplifier on va dire sur la feuil1 en A1


Sub test()


Dim Compteur As Integer
Dim Date1 As Date

Date1 = Date
Compteur = Sheets("Feuil1").Range("A1").Value



If Day(Date1) < 16 And Month(Date1) = 1 Then
'entre le 1er et le 15 /01
MsgBox ("avant le 15 du mois " & Month(Date1))
If Compteur > 0 Then Exit Sub
Else
MsgBox ("on est apres... en fait le " & Day(Date1) & " / " & Month(Date1))
'Le compteur est remis à zéro
Sheets("Feuil1").Range("A1").Value = 0
End If





End Sub
0
thierry
 
super merci beaucoup, grâce à toi je peux maintenant créer des fenêtres de dialogue et des compteurs

à la prochaine, thierry
0