[excel] visual basic, compteur

Résolu/Fermé
thierry - 26 mai 2009 à 10:45
 thierry - 26 mai 2009 à 12:57
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 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 288
26 mai 2009 à 11:58
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
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 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 288
26 mai 2009 à 12:53
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
super merci beaucoup, grâce à toi je peux maintenant créer des fenêtres de dialogue et des compteurs

à la prochaine, thierry
0