OVH Cloud OVH Cloud

entre 2 dates n'afficher que les lun, mar, jeu, vend

12 réponses
Avatar
val.eric
Bonjour !!


voila je m'occupe d'une cantine scolaire associative.
je dois creer un fichier excel qui va contenir tous les jours
d'ouverture de la cantinepour l'année scolaire 2005-2006.

nous n'ouvrons que les lundi, mardi, jeudi et vendredi.


ais-je un moyen pour taper la date de debut puis la date de fin et
qu'excel m'affiche en ligne

lun 01 sept
mar 02 sept
jeud 03 sept
vend 04 sept
lun 07 sept
etc...


il ne me restera qu'a supprimer a la main les jours de vacances.


Merci pour votre (precieuse) aide !

Cordialement




--

R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

2 réponses

1 2
Avatar
e.l.f
Ok j'avais lu un peu vite la question

Tout auto avec tes jours de vacances et/ou fériés dans une plage nommée "JrFs"
Démarrer sur une cellule active contenat une date

Sub zz_X_Jours_Ouvrés()
Application.ScreenUpdating = False
If Not IsDate(ActiveCell) Then _
MsgBox "La cellule sélectionnée ne contient pas de date !": Exit Sub
x = InputBox("Combien de jours ouvrés à écrire ?", "")
If x = "" Then Exit Sub
L = ActiveCell.Row + 1: C = ActiveCell.Column
For Each cel In Range(Cells(L, C), Cells(L + x - 1, C))
dat = cel.Offset(-1, 0) * 1 + 1
While Weekday(dat + nb, 2) > 5 Or Weekday(dat + nb, 2) = 3 Or _
Evaluate("isnumber(match(" & dat + nb & ",JrFs,0))") = True
nb = nb + 1
Wend
cel.Value = dat + nb: nb = 0
Next
End Sub

AV




pfff Wahoo quand tu te corrige tu ne le fait pas avec le dos de la
cuillière !!!!

je vais l'essayer rapidement !

Merci !

Avatar
e.l.f
Bonsour® val.eric
une solution simple sans macro

A1: "Date" B1 : "Jour"
-----------------------------------
1ere phase : toutes les dates d'une période
en A2
tu rentres une date de début
format "jjj j mmm aaaa"
en B2
tu rentres la formule : =Joursem(A2;2)
tu selectionnes A2:B2
et tu recopies vers le bas autant que tu veux
-----------------------------------
2eme phase : élagage des dates non désirées
selectionner A1:
Menu Données > Filtrer >Filtre automatique
cliquer sur la petite fléche qui apparait en B1
choisir personnalisé
dans les conditions :
egal ------> 3
cocher le bouton radio Ou
est supérieur ou égal à -----> 6
Ok

apparaissent alors les jours à exclure
Menu Edition> Atteindre >cellules > Zone en cours
selectionner alors toutes les lignes sauf la ligne 1
puis edition > supprimer la (les) ligne(s)
-------------------------------------------
3eme phase : désactiver alors le filtre
selectionner les colonnes A et B
puis trier colonne A ("Date") Ascendant

et voili !!!

si comme la précisé AV tu posséde une liste des jours de
congés

la génération des dates peut avantageusement etre faite
via la fonction Complémentaire Jours.ouvres avec en
paramétre la liste des jours de congés
@+



C'est vrai, le coup du filtre est trop fort, il y a plus de manip mais
c'est tres clean, il faudrait vraiment que je m'astregne a chercher
aussi ds cette direction !!

Merci !

1 2