Nombre de vendredi 13 de ma naissance jusqu'à aujourdhui
34 réponses
Tatanka
Bonsoir,
J'ai adapté une macro trouvée ici :
http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 »
de 1945 jusqu'à 2011. Le résultat me satisfait mais par
souci d'apprentissage, comment la modifier pour que cette
liste ne couvre que la période du 10 mai 1945 jusqu'à
la date du jour ? Voici la macro :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(Mois & "/13/" & Année) = 6 Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Bonjour Serge, Peut-être :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(DateSerial(Année, Mois, 13)) = 6 And _ DateSerial(Année, Mois, 13) > #5/10/1945# Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Cordialement. Daniel
Tatanka a pensé très fort :
Bonsoir,
J'ai adapté une macro trouvée ici :
http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 »
de 1945 jusqu'à 2011. Le résultat me satisfait mais par
souci d'apprentissage, comment la modifier pour que cette
liste ne couvre que la période du 10 mai 1945 jusqu'à
la date du jour ? Voici la macro :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(Mois & "/13/" & Année) = 6 Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
Bonjour Serge,
Peut-être :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(DateSerial(Année, Mois, 13)) = 6 And _
DateSerial(Année, Mois, 13) > #5/10/1945# Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Bonjour Serge, Peut-être :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(DateSerial(Année, Mois, 13)) = 6 And _ DateSerial(Année, Mois, 13) > #5/10/1945# Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Cordialement. Daniel
Jacky
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Bonjour,
Ceci ne serait pas suffisant ??
'----------------
Sub Vendredi_13()
Dim Année
Columns(1).Clear
debut = "10/05/1945"
For Année = debut To Date
If Weekday(Année) = 6 And Day(Année) = 13 Then
Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année
End If
Next Année
Columns(1).NumberFormat = "dddd dd mmmm yyyy"
Columns(1).EntireColumn.AutoFit
End Sub
'-----------------------
--
Salutations
JJ
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news: ihfus2$apb$1@speranza.aioe.org...
Bonsoir,
J'ai adapté une macro trouvée ici :
http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 »
de 1945 jusqu'à 2011. Le résultat me satisfait mais par
souci d'apprentissage, comment la modifier pour que cette
liste ne couvre que la période du 10 mai 1945 jusqu'à
la date du jour ? Voici la macro :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(Mois & "/13/" & Année) = 6 Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
michel ou sam
Bonjour, j'ai fait 2 autres variations sur le thème
Sub Vendredi_13c() 'on analyse chaque jour entre le 10 mai 45 et aujourd'hui Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For jour = DateSerial(1945, 5, 10) To Now If Weekday(jour) = 6 And Day(jour) = 13 Then Range("C1").Offset(Compteur, 0) = "13 " & " " & NomMois(Month(jour)) & " " & Year(jour) Compteur = Compteur + 1 End If Next jour End Sub
Sub Vendredi_13d() ' on analyse que le 13 de chaque mois, en ajoutant 1 mois à chaque fois, du 13/5/45 à aujourd'hui Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" Mois = 5 Do While DateSerial(1945, Mois, 13) < Now jour = DateSerial(1945, Mois, 13) If Weekday(jour) = 6 Then Range("D1").Offset(Compteur, 0) = "13 " & NomMois(Month(jour)) & " " & Year(jour) Compteur = Compteur + 1 End If Mois = Mois + 1 Loop End Sub
Michel
Bonjour,
j'ai fait 2 autres variations sur le thème
Sub Vendredi_13c()
'on analyse chaque jour entre le 10 mai 45 et aujourd'hui
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For jour = DateSerial(1945, 5, 10) To Now
If Weekday(jour) = 6 And Day(jour) = 13 Then
Range("C1").Offset(Compteur, 0) = "13 " & " " & NomMois(Month(jour))
& " " & Year(jour)
Compteur = Compteur + 1
End If
Next jour
End Sub
Sub Vendredi_13d()
' on analyse que le 13 de chaque mois, en ajoutant 1 mois à chaque fois, du
13/5/45 à aujourd'hui
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
Mois = 5
Do While DateSerial(1945, Mois, 13) < Now
jour = DateSerial(1945, Mois, 13)
If Weekday(jour) = 6 Then
Range("D1").Offset(Compteur, 0) = "13 " & NomMois(Month(jour)) & " "
& Year(jour)
Compteur = Compteur + 1
End If
Mois = Mois + 1
Loop
End Sub
Bonjour, j'ai fait 2 autres variations sur le thème
Sub Vendredi_13c() 'on analyse chaque jour entre le 10 mai 45 et aujourd'hui Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For jour = DateSerial(1945, 5, 10) To Now If Weekday(jour) = 6 And Day(jour) = 13 Then Range("C1").Offset(Compteur, 0) = "13 " & " " & NomMois(Month(jour)) & " " & Year(jour) Compteur = Compteur + 1 End If Next jour End Sub
Sub Vendredi_13d() ' on analyse que le 13 de chaque mois, en ajoutant 1 mois à chaque fois, du 13/5/45 à aujourd'hui Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" Mois = 5 Do While DateSerial(1945, Mois, 13) < Now jour = DateSerial(1945, Mois, 13) If Weekday(jour) = 6 Then Range("D1").Offset(Compteur, 0) = "13 " & NomMois(Month(jour)) & " " & Year(jour) Compteur = Compteur + 1 End If Mois = Mois + 1 Loop End Sub
Michel
michel ou sam
Bonjour, Jacky m'a fait prendre conscience qu'il suffit d'écrire dans mes 2 versions
Range("D1").Offset(Compteur, 0) = jour avec le format qui va bien
Michel
Bonjour,
Jacky m'a fait prendre conscience qu'il suffit d'écrire dans mes 2 versions
Range("D1").Offset(Compteur, 0) = jour
avec le format qui va bien
Bonjour, Jacky m'a fait prendre conscience qu'il suffit d'écrire dans mes 2 versions
Range("D1").Offset(Compteur, 0) = jour avec le format qui va bien
Michel
Frederic LE GUEN
On Jan 23, 11:49 am, "Jacky" wrote:
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Ann e Columns(1).Clear debut = "10/05/1945" For Ann e = debut To Date If Weekday(Ann e) = 6 And Day(Ann e) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Ann e End If Next Ann e Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a crit dans le message de news: ihfus2 $
> Bonsoir,
> J'ai adapt une macro trouv e ici : >http://www.docmemo.com/divers/vendredi13.php
> me permettant d'obtenir la liste de tous les vendredi 13 > de 1945 jusqu' 2011. Le r sultat me satisfait mais par > souci d'apprentissage, comment la modifier pour que cette > liste ne couvre que la p riode du 10 mai 1945 jusqu' > la date du jour ? Voici la macro :
> Sub Vendredi_13() > Dim Ann e, Mois, Compteur, NomMois(12) > NomMois(1) = "janvier" > NomMois(2) = "f vrier" > NomMois(3) = "mars" > NomMois(4) = "avril" > NomMois(5) = "mai" > NomMois(6) = "juin" > NomMois(7) = "juillet" > NomMois(8) = "ao t" > NomMois(9) = "septembre" > NomMois(10) = "octobre" > NomMois(11) = "novembre" > NomMois(12) = "d cembre" > For Ann e = 1945 To 2011 > For Mois = 1 To 12 > If Weekday(Mois & "/13/" & Ann e) = 6 Then > Range("A1").Offset(Compteur, 0) = "13 " _ > & NomMois(Mois) & " " & Ann e > Compteur = Compteur + 1 > End If > Next Mois > Next Ann e > End Sub
Jacky à raison, un test sur le jour "Vendredi" et sur la valeur du jour "13" suffit largement. Pas besoin de charger un tableau avec les mois. Et puis même, on peut améliorer le code en passant en paramètre la date de début et la date de fin
On Jan 23, 11:49 am, "Jacky" <Dup...@marcel.fr> wrote:
Bonjour,
Ceci ne serait pas suffisant ??
'----------------
Sub Vendredi_13()
Dim Ann e
Columns(1).Clear
debut = "10/05/1945"
For Ann e = debut To Date
If Weekday(Ann e) = 6 And Day(Ann e) = 13 Then
Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Ann e
End If
Next Ann e
Columns(1).NumberFormat = "dddd dd mmmm yyyy"
Columns(1).EntireColumn.AutoFit
End Sub
'-----------------------
--
Salutations
JJ
"Tatanka" <ramanu...@videotron.ca> a crit dans le message de news: ihfus2 $ap...@speranza.aioe.org...
> Bonsoir,
> J'ai adapt une macro trouv e ici :
>http://www.docmemo.com/divers/vendredi13.php
> me permettant d'obtenir la liste de tous les vendredi 13
> de 1945 jusqu' 2011. Le r sultat me satisfait mais par
> souci d'apprentissage, comment la modifier pour que cette
> liste ne couvre que la p riode du 10 mai 1945 jusqu'
> la date du jour ? Voici la macro :
> Sub Vendredi_13()
> Dim Ann e, Mois, Compteur, NomMois(12)
> NomMois(1) = "janvier"
> NomMois(2) = "f vrier"
> NomMois(3) = "mars"
> NomMois(4) = "avril"
> NomMois(5) = "mai"
> NomMois(6) = "juin"
> NomMois(7) = "juillet"
> NomMois(8) = "ao t"
> NomMois(9) = "septembre"
> NomMois(10) = "octobre"
> NomMois(11) = "novembre"
> NomMois(12) = "d cembre"
> For Ann e = 1945 To 2011
> For Mois = 1 To 12
> If Weekday(Mois & "/13/" & Ann e) = 6 Then
> Range("A1").Offset(Compteur, 0) = "13 " _
> & NomMois(Mois) & " " & Ann e
> Compteur = Compteur + 1
> End If
> Next Mois
> Next Ann e
> End Sub
Jacky à raison, un test sur le jour "Vendredi" et sur la valeur du
jour "13" suffit largement. Pas besoin de charger un tableau avec les
mois.
Et puis même, on peut améliorer le code en passant en paramètre la
date de début et la date de fin
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Ann e Columns(1).Clear debut = "10/05/1945" For Ann e = debut To Date If Weekday(Ann e) = 6 And Day(Ann e) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Ann e End If Next Ann e Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a crit dans le message de news: ihfus2 $
> Bonsoir,
> J'ai adapt une macro trouv e ici : >http://www.docmemo.com/divers/vendredi13.php
> me permettant d'obtenir la liste de tous les vendredi 13 > de 1945 jusqu' 2011. Le r sultat me satisfait mais par > souci d'apprentissage, comment la modifier pour que cette > liste ne couvre que la p riode du 10 mai 1945 jusqu' > la date du jour ? Voici la macro :
> Sub Vendredi_13() > Dim Ann e, Mois, Compteur, NomMois(12) > NomMois(1) = "janvier" > NomMois(2) = "f vrier" > NomMois(3) = "mars" > NomMois(4) = "avril" > NomMois(5) = "mai" > NomMois(6) = "juin" > NomMois(7) = "juillet" > NomMois(8) = "ao t" > NomMois(9) = "septembre" > NomMois(10) = "octobre" > NomMois(11) = "novembre" > NomMois(12) = "d cembre" > For Ann e = 1945 To 2011 > For Mois = 1 To 12 > If Weekday(Mois & "/13/" & Ann e) = 6 Then > Range("A1").Offset(Compteur, 0) = "13 " _ > & NomMois(Mois) & " " & Ann e > Compteur = Compteur + 1 > End If > Next Mois > Next Ann e > End Sub
Jacky à raison, un test sur le jour "Vendredi" et sur la valeur du jour "13" suffit largement. Pas besoin de charger un tableau avec les mois. Et puis même, on peut améliorer le code en passant en paramètre la date de début et la date de fin
Jacky
Re... ;o) Même que l'on pourrait rajouter en fin de macro '------------ MsgBox "Non! Non!" & vbLf & "Je ne suis (presque) pas superstitieux" '------------ o;) -- Salutations JJ
Re...
;o)
Même que l'on pourrait rajouter en fin de macro
'------------
MsgBox "Non! Non!" & vbLf & "Je ne suis (presque) pas superstitieux"
'------------
o;)
--
Salutations
JJ
Re... ;o) Même que l'on pourrait rajouter en fin de macro '------------ MsgBox "Non! Non!" & vbLf & "Je ne suis (presque) pas superstitieux" '------------ o;) -- Salutations JJ
Daniel.C
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Bonjour Jacky,
Ta macro est plus courte mais elle fait un test par jour quand la macro
initiale en fait un par mois.
Cordialement.
Daniel
Bonjour,
Ceci ne serait pas suffisant ??
'----------------
Sub Vendredi_13()
Dim Année
Columns(1).Clear
debut = "10/05/1945"
For Année = debut To Date
If Weekday(Année) = 6 And Day(Année) = 13 Then
Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année
End If
Next Année
Columns(1).NumberFormat = "dddd dd mmmm yyyy"
Columns(1).EntireColumn.AutoFit
End Sub
'-----------------------
--
Salutations
JJ
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news:
ihfus2$apb$1@speranza.aioe.org...
Bonsoir,
J'ai adapté une macro trouvée ici :
http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 »
de 1945 jusqu'à 2011. Le résultat me satisfait mais par
souci d'apprentissage, comment la modifier pour que cette
liste ne couvre que la période du 10 mai 1945 jusqu'à
la date du jour ? Voici la macro :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(Mois & "/13/" & Année) = 6 Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Jacky
Bonjour Daniel
Oui certes, j'en suis conscient. Mais y a- t-il vraiment dans ce cas, un gain de temps d'exécution signifiant Ma macro est moins rapide je l'admets, mais moins de 1 seconde dans les 2 procédures -- Salutations JJ
"Daniel.C" a écrit dans le message de news: 4d3c185b$0$18777$
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Bonjour Daniel
Oui certes, j'en suis conscient.
Mais y a- t-il vraiment dans ce cas, un gain de temps d'exécution signifiant
Ma macro est moins rapide je l'admets, mais moins de 1 seconde dans les 2 procédures
--
Salutations
JJ
"Daniel.C" <dcolardelleZZZ@free.fr> a écrit dans le message de news: 4d3c185b$0$18777$426a34cc@news.free.fr...
Bonjour Jacky,
Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois.
Cordialement.
Daniel
Bonjour,
Ceci ne serait pas suffisant ??
'----------------
Sub Vendredi_13()
Dim Année
Columns(1).Clear
debut = "10/05/1945"
For Année = debut To Date
If Weekday(Année) = 6 And Day(Année) = 13 Then
Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année
End If
Next Année
Columns(1).NumberFormat = "dddd dd mmmm yyyy"
Columns(1).EntireColumn.AutoFit
End Sub
'-----------------------
--
Salutations
JJ
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news: ihfus2$apb$1@speranza.aioe.org...
Bonsoir,
J'ai adapté une macro trouvée ici :
http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 »
de 1945 jusqu'à 2011. Le résultat me satisfait mais par
souci d'apprentissage, comment la modifier pour que cette
liste ne couvre que la période du 10 mai 1945 jusqu'à
la date du jour ? Voici la macro :
Sub Vendredi_13()
Dim Année, Mois, Compteur, NomMois(12)
NomMois(1) = "janvier"
NomMois(2) = "février"
NomMois(3) = "mars"
NomMois(4) = "avril"
NomMois(5) = "mai"
NomMois(6) = "juin"
NomMois(7) = "juillet"
NomMois(8) = "août"
NomMois(9) = "septembre"
NomMois(10) = "octobre"
NomMois(11) = "novembre"
NomMois(12) = "décembre"
For Année = 1945 To 2011
For Mois = 1 To 12
If Weekday(Mois & "/13/" & Année) = 6 Then
Range("A1").Offset(Compteur, 0) = "13 " _
& NomMois(Mois) & " " & Année
Compteur = Compteur + 1
End If
Next Mois
Next Année
End Sub
Oui certes, j'en suis conscient. Mais y a- t-il vraiment dans ce cas, un gain de temps d'exécution signifiant Ma macro est moins rapide je l'admets, mais moins de 1 seconde dans les 2 procédures -- Salutations JJ
"Daniel.C" a écrit dans le message de news: 4d3c185b$0$18777$
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
Bonjour,
Ceci ne serait pas suffisant ?? '---------------- Sub Vendredi_13() Dim Année Columns(1).Clear debut = "10/05/1945" For Année = debut To Date If Weekday(Année) = 6 And Day(Année) = 13 Then Range("a" & Cells(Rows.Count, 1).End(3).Row + 1) = Année End If Next Année Columns(1).NumberFormat = "dddd dd mmmm yyyy" Columns(1).EntireColumn.AutoFit End Sub '-----------------------
-- Salutations JJ
"Tatanka" a écrit dans le message de news: ihfus2$apb$
Bonsoir,
J'ai adapté une macro trouvée ici : http://www.docmemo.com/divers/vendredi13.php
me permettant d'obtenir la liste de tous les « vendredi 13 » de 1945 jusqu'à 2011. Le résultat me satisfait mais par souci d'apprentissage, comment la modifier pour que cette liste ne couvre que la période du 10 mai 1945 jusqu'à la date du jour ? Voici la macro :
Sub Vendredi_13() Dim Année, Mois, Compteur, NomMois(12) NomMois(1) = "janvier" NomMois(2) = "février" NomMois(3) = "mars" NomMois(4) = "avril" NomMois(5) = "mai" NomMois(6) = "juin" NomMois(7) = "juillet" NomMois(8) = "août" NomMois(9) = "septembre" NomMois(10) = "octobre" NomMois(11) = "novembre" NomMois(12) = "décembre" For Année = 1945 To 2011 For Mois = 1 To 12 If Weekday(Mois & "/13/" & Année) = 6 Then Range("A1").Offset(Compteur, 0) = "13 " _ & NomMois(Mois) & " " & Année Compteur = Compteur + 1 End If Next Mois Next Année End Sub
Tatanka
Merci à tous pour vos suggestions,
Et en quête de vitesse, voici ce que j'ai :
Sub Vendredi_13_Daniel_2() Application.ScreenUpdating = False Dim NomMois(12) Dim d As Date, Année As Integer Dim i As Byte, début As Date, Mois As Byte Columns(1).Clear For i = 1 To 12 NomMois(i) = i Next i début = #5/10/1945# For Année = 1945 To 2011 For Mois = 1 To 12 d = DateSerial(Année, Mois, 13) If d <= Date Then If Weekday(d) = 6 And d >= début Then Range("A1").Offset(Compteur, 0) = _ Format(d, "dd mmmm yyyy") Compteur = Compteur + 1 End If End If Next Mois Next Année Application.ScreenUpdating = True End Sub
Serge
"Daniel.C" a écrit dans le message de news: 4d3c185b$0$18777$
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
Merci à tous pour vos suggestions,
Et en quête de vitesse, voici ce que j'ai :
Sub Vendredi_13_Daniel_2()
Application.ScreenUpdating = False
Dim NomMois(12)
Dim d As Date, Année As Integer
Dim i As Byte, début As Date, Mois As Byte
Columns(1).Clear
For i = 1 To 12
NomMois(i) = i
Next i
début = #5/10/1945#
For Année = 1945 To 2011
For Mois = 1 To 12
d = DateSerial(Année, Mois, 13)
If d <= Date Then
If Weekday(d) = 6 And d >= début Then
Range("A1").Offset(Compteur, 0) = _
Format(d, "dd mmmm yyyy")
Compteur = Compteur + 1
End If
End If
Next Mois
Next Année
Application.ScreenUpdating = True
End Sub
Serge
"Daniel.C" <dcolardelleZZZ@free.fr> a écrit dans le message de news: 4d3c185b$0$18777$426a34cc@news.free.fr...
Bonjour Jacky,
Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois.
Cordialement.
Daniel
Sub Vendredi_13_Daniel_2() Application.ScreenUpdating = False Dim NomMois(12) Dim d As Date, Année As Integer Dim i As Byte, début As Date, Mois As Byte Columns(1).Clear For i = 1 To 12 NomMois(i) = i Next i début = #5/10/1945# For Année = 1945 To 2011 For Mois = 1 To 12 d = DateSerial(Année, Mois, 13) If d <= Date Then If Weekday(d) = 6 And d >= début Then Range("A1").Offset(Compteur, 0) = _ Format(d, "dd mmmm yyyy") Compteur = Compteur + 1 End If End If Next Mois Next Année Application.ScreenUpdating = True End Sub
Serge
"Daniel.C" a écrit dans le message de news: 4d3c185b$0$18777$
Bonjour Jacky, Ta macro est plus courte mais elle fait un test par jour quand la macro initiale en fait un par mois. Cordialement. Daniel
michdenis
Bonjour,
Si tu veux seulement calculer le nombre de vendredi 13 entre 2 dates
Debut : Nom de la cellule contenant la date du début Fin : Nom de la cellule contenant la date de la fin