OVH Cloud OVH Cloud

week-end

4 réponses
Avatar
Vig
Bonjour,

Comment faire pour que dans une colonne excel=20
n'apparaissent que les week-end d'une ann=E9e choisie.


Merci

PAPIN Virginie

4 réponses

Avatar
Daniel.M
Salut Virginie,

Parmi plusieurs possibilités:

Sur la première ligne de cette colonne, tu entres la formule suivante (tu
remplaces Année par 2003 si tu veux ou tu te définis un Nom/Référence avec
la bonne année):

ÚTE(Année;1;8)-JOURSEM(DATE(Année;1;1))+(MOD(LIGNE();2)=0)
+7*ENT((LIGNE()-1)/2)

Puis tu copies jusqu'à ce que tu arrives à la fin de l'année.
Ensuite, tu copies ta colonne et tu colles les valeurs.
La formule est plus compliquée mais ça t'évites quelques manipulations
(AMA).

Salutations,

Daniel M.

"Vig" wrote in message
news:07f301c34f87$428a6050$
Bonjour,

Comment faire pour que dans une colonne excel
n'apparaissent que les week-end d'une année choisie.


Merci

PAPIN Virginie
Avatar
Jean-François Aubert
Salut Virginie,

Une autre solution, en VBA:
La cellule contenant l'année est selectionnée
(valeur acceptée : n° de série entier (37625), année en 2 chiffres (03), et les formats reconnus de
date)

Les dates weekend s'inscriront en desous

Sub weekend()

cnt = ActiveCell.Row
col = ActiveCell.Column

If IsDate(Cells(cnt, col)) = True Then
rep = Year(Cells(cnt, col))
Else
If Len(Cells(cnt, col)) > 4 Then
rep = Year(CDate(Cells(cnt, col)))
Else
rep = Cells(cnt, col)
End If
End If

a = CDate("01.01." & rep)
b = CDate("31.12." & rep)

For i = a To b
If Evaluate(Weekday(i, 2) > 5) = True Then
cnt = cnt + 1
Cells(cnt, col) = i
End If
Next
End Sub



--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Daniel.M" a écrit dans le message de
news:%23yI%
Salut Virginie,

Parmi plusieurs possibilités:

Sur la première ligne de cette colonne, tu entres la formule suivante (tu
remplaces Année par 2003 si tu veux ou tu te définis un Nom/Référence avec
la bonne année):

ÚTE(Année;1;8)-JOURSEM(DATE(Année;1;1))+(MOD(LIGNE();2)=0)
+7*ENT((LIGNE()-1)/2)

Puis tu copies jusqu'à ce que tu arrives à la fin de l'année.
Ensuite, tu copies ta colonne et tu colles les valeurs.
La formule est plus compliquée mais ça t'évites quelques manipulations
(AMA).

Salutations,

Daniel M.

"Vig" wrote in message
news:07f301c34f87$428a6050$
Bonjour,

Comment faire pour que dans une colonne excel
n'apparaissent que les week-end d'une année choisie.


Merci

PAPIN Virginie



Avatar
Daniel.M
Salut Jean-François,

a = CDate("01.01." & rep)
b = CDate("31.12." & rep)


Pour rendre le code compatible avec les différents systèmes de
représentation des dates, je remplacerais les assignations à a et b par:

a = DateSerial(rep, 1, 1)
b = DateSerial(rep, 12, 31)

C'est juste une suggestion.

Salutations,

Daniel M.

Avatar
AV
Autre vba :
A adapter : variable "an" et colonne écriture (A)

Sub zzz_WE()
an = 2003: x = 1
For i = 1 To 12
derJ = Evaluate("day(date(" & an & "," & i + 1 & ",0))")
For j = 1 To derJ
While Evaluate("weekday(date(" & an & "," & i & "," & j & "),2)") > 5
Cells(x, "A") = Evaluate("date(" & an & "," & i & "," & j & ")")
x = x + 1: j = j + 1: If j > derJ Then Exit For
Wend
Next j
Next i
End Sub

AV
"Vig" a écrit dans le message news:
07f301c34f87$428a6050$
Bonjour,

Comment faire pour que dans une colonne excel
n'apparaissent que les week-end d'une année choisie.


Merci

PAPIN Virginie