XL 2016 1er Mardi de chaque mois

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 !

kingfadhel

XLDnaute Impliqué
Bonjour,
Pour les pros qui programme à l'avance leurs rendez-vous.
une formule qui permet d'avoir le 1er mardi de chaque mois

=DATE(ANNEE(A1);MOIS(A1);CHOISIR(JOURSEM(A1;2);2;1;7;6;5;4;3))

1er mardi de chaque mois.PNG
 
Bonjour Victor21

Tu parles de laquelle de formule?
Parce ce que la dernière* renvoie bien le 1er mardi du mois si en colonne A on a le 1er jour du mois
*message #4
Voir ce petit test VBA (pour commodité)
VB:
Sub b()
Range("A1") = "01/01/2002"
Range("A1:B12").NumberFormatLocal = "jjjj jj mmmm aaaa"
Range("A1").AutoFill Destination:=Range("A1:A12"), Type:=xlFillMonths
Range("B1:B12").FormulaR1C1 = "=RC[-1]+CHOOSE(WEEKDAY(RC[-1]),2,1,0,6,5,4,3)"
End Sub
Sauf erreur de ma part, les résultats sont les même que sur la copie d'écran de kingfadhel
 
Re, JM.

Tu parles de laquelle de formule?
Parce ce que la dernière* renvoie bien le 1er mardi du mois si en colonne A on a le 1er jour du mois
*message #4
J'en étais resté au #2, mais j'écris moins vite que vous postez, et je réfléchis parfois encore moins vite que je n'écris. Ceci explique celà 🙂
Les exemples de la copie d'écran de kingfadhel correspondent à un cas particulier : la date de référence correspond au 1° jour du mois...
 
Re, suite:
Code qui permet d'extraire les mardis d'une année xxxx
ensuite il crée en une deuxième feuille une liste : Un mardi/2 (par quinzaine donc).

C'est pour les réunions, les visites d'inspections, les contrôles....

Code:
Sub mardi_sur_deux()
Dim jour As String
Dim i, j, k, x As Integer
my_year = InputBox("saisir une année")
Range("F1") = "Les Mardis de l'année : " & my_year

start_date = "01-01-" & my_year & ""
x = 2
For i = 0 To 366 Step 1
    Str_date = CDate(start_date) + i
    jour = WeekdayName(Weekday((Str_date)), False, vbSunday)
   
    If jour = "mardi" Then
        Sheets("Feuil1").Range("F" & x) = CDate(Str_date)
        x = x + 1
    Else
    GoTo continue
    End If
continue:
Next

''Copie vers une nouvelle feuille
    Columns("F:F").Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    Columns("A:A").Select
    ActiveSheet.Paste
Range("A1") = "Les Mardis/2 de l'année : " & my_year
derligne = Range("A1").End(xlDown).Row
For j = 2 To derligne Step j + 1
    ActiveSheet.Rows("" & j & ":" & j & "").Select
    Selection.Delete Shift:=xlUp
Next

End Sub
 
Re

Avec celle-ci, on le 1er mardi du mois, quelque soit la date saisie en colonne A
VB:
Sub c()
Range("A1:A12").Clear
Range("A1:A12").FormulaR1C1 = "=DATE(2017,ROW(),ROW())"
Range("B1:B12").FormulaR1C1 = "=(RC[-1]-DAY(RC[-1])+1)+CHOOSE(WEEKDAY(RC[-1]-DAY(RC[-1])+1),2,1,0,6,5,4,3)"
Range("A1:B12").NumberFormatLocal = "jjjj jj mmmm aaaa"
End Sub
 
Re

Avec celle-ci, on le 1er mardi du mois, quelque soit la date saisie en colonne A
VB:
Sub c()
Range("A1:A12").Clear
Range("A1:A12").FormulaR1C1 = "=DATE(2017,ROW(),ROW())"
Range("B1:B12").FormulaR1C1 = "=(RC[-1]-DAY(RC[-1])+1)+CHOOSE(WEEKDAY(RC[-1]-DAY(RC[-1])+1),2,1,0,6,5,4,3)"
Range("A1:B12").NumberFormatLocal = "jjjj jj mmmm aaaa"
End Sub


T'es un Génie @Staple1600.
 
- 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
7
Affichages
344
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
236
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
277
Réponses
8
Affichages
464
  • Question Question
Réponses
12
Affichages
352
Réponses
0
Affichages
230
Retour