Autres calendrier perpétuel sans week-end et mercredi

ram_ia

XLDnaute Nouveau
Bonjour à tous,

Je fais appel au forum pour tenter de m'aider à trouver la manière de créer un calendrier perpétuel sans que les mercredis, les samedis et dimanches apparaissent.
Je n'ai pas trouvé cette particularité dans les autres discussions et sollicite votre aide.
J'ai su trouver pour le week-end et j'avais trouvé cette proposition pour le mercredi en imbriquant une nouvelle condition :( =SI(JOURSEM(A1;2)=5;A1+3;SI(JOURSEM(A1;2)=2;A1+2;A1+1)) sur un autre forum.
Sur ma première ligne (1er jour du mois) tout va bien. C'est à partir de la deuxième ligne que les mercredis réapparaissent.

Je joins le modèle de fichier.

Merci d'avance pour votre aide.
Bien cordialement,
Raymi
 

Pièces jointes

  • modèle.xlsx
    20.7 KB · Affichages: 15

ram_ia

XLDnaute Nouveau
Bonjour Ram_ia,
En B16:
VB:
=SI(JOURSEM(B3;2)=7;B3+1;SI(JOURSEM(B3;2)=6;B3+2;SI(JOURSEM(B3;2)=3;B3+1;B3)))
En B17:B38 :
Code:
=SI(JOURSEM(B16;2)>=5;B16+3;SI(JOURSEM(B16;2)=2;B16+2;B16+1))
Ne liste que les lundi,mardi,jeudi et vendredi.
Bonjour à tous,

Il y a aussi la fonction serie.jour.ouvre.intl()

VB:
=SERIE.JOUR.OUVRE.INTL(B3;1;"0010011")

Edit: Chgt fichier

JHA
Bonjour Sylvanu,
Tout mes vœux pour démarrer l'année !
Je me permets de revenir sur cette discussion car je cherche à la fois à obtenir un calendrier sans week-end et sans qu'apparaissent les éventuels jours (29, 30 et 31) pour les mois concernés.
Je joins mon modèle au cas où tu pourrais m'apporter, comme d'habitude, la solution à ma demande !
RIA
 

Pièces jointes

  • Modèle 1.xlsx
    81.6 KB · Affichages: 6

ram_ia

XLDnaute Nouveau
Bonjour Sylvanu,
Tout mes vœux pour démarrer l'année !
Je me permets de revenir sur cette discussion car je cherche à la fois à obtenir un calendrier sans week-end et sans qu'apparaissent les éventuels jours (29, 30 et 31) pour les mois concernés.
Je joins mon modèle au cas où tu pourrais m'apporter, comme d'habitude, la solution à ma demande !
RIA
Désolé pour l'erreur ... Bonjour JHA :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Un essai en PJ avec cette macro :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A4]) Is Nothing Then
        C = Application.Match(Application.EDate(Target, 1), Rows("2:2"), 0)
        Range("AKC1:BAA1").EntireColumn.Hidden = False
        Range(Cells(1, C), Cells(1, 1200)).EntireColumn.Hidden = True
    End If
End Sub
Elle s'exécute lorsqu'on change la date en A4.
 

Pièces jointes

  • Modèle 1.xlsm
    80.2 KB · Affichages: 15

ram_ia

XLDnaute Nouveau
Bonjour,
Un essai en PJ avec cette macro :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A4]) Is Nothing Then
        C = Application.Match(Application.EDate(Target, 1), Rows("2:2"), 0)
        Range("AKC1:BAA1").EntireColumn.Hidden = False
        Range(Cells(1, C), Cells(1, 1200)).EntireColumn.Hidden = True
    End If
End Sub
Elle s'exécute lorsqu'on change la date en A4.
LA CLASSE INTERNATIONALE !:) C'est exactement çà ! Merci une nouvelle fois.
RIA
 

ram_ia

XLDnaute Nouveau
LA CLASSE INTERNATIONALE !:) C'est exactement çà ! Merci une nouvelle fois.
RIA
Bonjour Sylvanu,
J'ai cherché à comprendre avant de te soumettre mon nouveau soucis. J'ai du modifier les créneaux horaires, du coup la macro ne fonctionne plus comme avant. Une erreur d'exécution s'affiche !
Je me permets de joindre le modèle tel qu'il sera utilisé en espérant que tu pourras trouver le bug?!
 

Pièces jointes

  • CF - Suivi des présences 2.xlsm
    316.9 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Ram_ia,
Pour masquer les jours je cherche où se trouve le 1er du mois suivant, et je masque à partir de ce jour.
Dans votre modèle il manque des colonnes à la fin pour que sur un mois de 31 jours, il trouve la dernière colonne du 1er du mois suivant, donc le 32ème jour.
En PJ c'est rectifié.
 

Pièces jointes

  • CF - Suivi des présences 2.xlsm
    332.4 KB · Affichages: 4

ram_ia

XLDnaute Nouveau
Bonjour Ram_ia,
Pour masquer les jours je cherche où se trouve le 1er du mois suivant, et je masque à partir de ce jour.
Dans votre modèle il manque des colonnes à la fin pour que sur un mois de 31 jours, il trouve la dernière colonne du 1er du mois suivant, donc le 32ème jour.
En PJ c'est rectifié.
Merci beaucoup Sylvanu.
Toutefois, sur Avril, septembre et décembre 2022, l'erreur d'exécution'13': incompatibilité de type s'affiche encore. Pourquoi sur ces trois mois précis, comme par exemple sur Septembre, apparaissent justement les jours du mois suivant (Lundi 03 et Mardi 04)
J'ai regardé le script vba et sans pouvoir m'en assurer, j'ai l'impression que le soucis viendrait de Range("GD1:BAA1") , non ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups! J'avais zappé qu'on avaient supprimé les WE. :mad:
Donc si le 1er du mois suivant est un WE il est absent et donc la recherche plante.
Dans la PJ, je fais plus "bourrin", je parcours les dates jusqu'à trouver une date supérieure ou égale au 1er du mois suivant. Comme ça je suis sur du coup même si certaines dates sont absentes.
 

Pièces jointes

  • CF - Suivi des présences 2 (4).xlsm
    333.7 KB · Affichages: 4

ram_ia

XLDnaute Nouveau
Oups! J'avais zappé qu'on avaient supprimé les WE. :mad:
Donc si le 1er du mois suivant est un WE il est absent et donc la recherche plante.
Dans la PJ, je fais plus "bourrin", je parcours les dates jusqu'à trouver une date supérieure ou égale au 1er du mois suivant. Comme ça je suis sur du coup même si certaines dates sont absentes.
Quelle maîtrise, c'est impressionnant ! Merci encore.
Ram_IA
 

ram_ia

XLDnaute Nouveau
Bonjour Sylvanu,
J'ose une nouvelle demande, toujours en lien avec le sujet. Je souhaite reporter les résultats du tableau suivi des présences vers un autre. Ça je peux le faire. Mais encore une fois c'est le calendrier qui me pose problème. De la même manière, je ne veux pas qu'apparaissent les jours au-delà de la fin du mois (en A13:A35). J'ai tenté d'adapter la macro mais ca ne fonctionne pas ?!
Je joins le modèle pour que ce soit explicite.
 

Pièces jointes

  • modele3.xlsx
    22.8 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Ram_ia,
En PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A3]) Is Nothing Then
        Application.ScreenUpdating = False: Dim L%
        MoisSuivant = Application.EDate(Target, 1)
        For L = 30 To 40
            If Cells(L, "A") >= MoisSuivant Then Exit For
        Next L
        Range("A29:A40").EntireRow.Hidden = False
        Range(Cells(L, "A"), Cells(L + 8, "A")).EntireRow.Hidden = True
        Application.ScreenUpdating = True
    End If
End Sub
qui n'est rien d'autre que la première remaniée de colonnes à lignes.

NB: Si c'est bon, pensez à clore le post en indiquant la bonne PJ. Car avec autant de PJ sur un fil le futur lecteur se demandera laquelle est la bonne. :)
 

Pièces jointes

  • modele3.xlsm
    29.3 KB · Affichages: 2

Statistiques des forums

Discussions
294 442
Messages
1 938 528
Membres
188 905
dernier inscrit
esseddyqy2