XL 2021 Création agenda

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonsoir tout le monde,

Sur ma création d'agenda, j'ai un petit problème avec mon code, y a un petit truc que j'arrive pas à régler.
Si le mois n'existe pas je le créer sans soucis, mais si le mois existe, ça me dis que le moi existe déjà, je dis ok mais sur ma feuille paramètre ça scroll jusqu'à la colonne "Q", il y a une tuile, je vois un peut près ou mais j'arrive pas à l'interpétrer comme il faut.

Merci à tous
Nico

test form6.gif


test form7.gif
 

Pièces jointes

  • Agenda v22.xlsm
    92.3 KB · Affichages: 3
Dernière édition:
Solution
Nicolas

Ton Pb vient d'ici

1726522227041.png

et comme je ne pense pas que l'on peut scroller une feuille non active il faudrait mémoriser le nombre de scroll de colonne

VB:
Function Actu_jour(année, mois)
    Application.ScreenUpdating = False
    Dim i As Long, nbjour As Long
    nbjour = Day(DateSerial(année, mois + 1, 0)) ' te donne le nombre de jour dans le mois en parametre
    lig = 2: col = 3
    With Worksheets("Feuil1")
        For i = 1 To nbjour
            '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 24
            If année = Year(Date) And mois = Month(Date) And i = Day(Date) Then
                '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 28 'Coloriage aujourd'hui...

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour,


Le souci c'est qu'il doit manquer un mot dans ta phrase. N'est-il pas ? ;)


Bonne chance pour la suite.
🖖
Bonjour l'ami,
oui, il manque un petit truc mais je trouve pas

VB:
Function Actu_jour(année, mois)
    Application.ScreenUpdating = False
    Dim i As Long, nbjour As Long
    nbjour = Day(DateSerial(année, mois + 1, 0)) ' te donne le nombre de jour dans le mois en parametre
    lig = 2: col = 3
    With Worksheets("Feuil1")
        For i = 1 To nbjour
            '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 24
            If année = year(Date) And mois = Month(Date) And i = Day(Date) Then
                '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 28 'Coloriage aujourd'hui
                ActiveWindow.ScrollColumn = i + 1     'va à la colonne aujourd'hui
            End If
            col = col + 1
        Next i
    End With
    'With Worksheets("Paramètre")
    '    ActiveWindow.ScrollColumn = 1
    'End With
End Function

je pense que c'est sur cette partie là, j'ai essayé plusieurs choses, mais dès que je je change j'ai un autre souci
Merci
 

Phil69970

XLDnaute Barbatruc
Nicolas

Ton Pb vient d'ici

1726522227041.png

et comme je ne pense pas que l'on peut scroller une feuille non active il faudrait mémoriser le nombre de scroll de colonne

VB:
Function Actu_jour(année, mois)
    Application.ScreenUpdating = False
    Dim i As Long, nbjour As Long
    nbjour = Day(DateSerial(année, mois + 1, 0)) ' te donne le nombre de jour dans le mois en parametre
    lig = 2: col = 3
    With Worksheets("Feuil1")
        For i = 1 To nbjour
            '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 24
            If année = Year(Date) And mois = Month(Date) And i = Day(Date) Then
                '.Range(.Cells(lig, col), .Cells(lig + 1, col)).Interior.ColorIndex = 28 'Coloriage aujourd'hui
             
                '************* A MODIFIER
                'ActiveWindow.ScrollColumn = i + 1     'va à la colonne aujourd'hui
                Dim mem As Byte
                mem = i + 1
                '************
             
            End If
            col = col + 1
        Next i
    End With
 
    '******** A RAJOUTER
    If ActiveSheet.Name = "Paramètre" Then Exit Function
    ActiveWindow.ScrollColumn = mem
    '*******************
 
End Function

Donc :
1 ligne à désactiver/supprimer
2 lignes à rajouter


+ 2 lignes à rajouter à la fin


De plus je pense que tu peux simplifier ceci :

'N°de semaine
With .Range(.Cells(1, 3), .Cells(1, dercol))
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeLeft).LineStyle = xlContinuous
End With

Par ceci :

'N°de semaine
With .Range(.Cells(1, 3), .Cells(1, dercol))
.Borders.LineStyle = 1
End With

Bonne lecture
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
@Nicolas JACQUIN

Remarques :
1) Pourquoi la date de fin d’après midi s’arrête à 23 h et pas à 24 h ?
2) Pourquoi ne pas laisser la possibilité de ne pas avoir de pause ?
3) Pourquoi ne pas rajouter une ligne à la fin après ou avant les fêtes (Perso je préfère avant les fêtes ou même au tout début après le N° de semaine pour la visibilité mais non imprimable) pour les anniversaires à souhaiter ?
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
@Nicolas JACQUIN

Remarques :
1) Pourquoi la date de fin d’après midi s’arrête à 23 h et pas à 24 h ?
2) Pourquoi ne pas laisser la possibilité de ne pas avoir de pause ?
3) Pourquoi ne pas rajouter une ligne à la fin après ou avant les fêtes (Perso je préfère avant les fêtes ou même au tout début après le N° de semaine pour la visibilité mais non imprimable) pour les anniversaires à souhaiter ?


Pour le point n°1: C'est ce que j'avais fais au départ, mais du coup j'avais préféré commencer à 0, parce que 0 = minuit

Capture d’écran 2024-09-17 100302.jpg


Pour le point n°2: C'est une possibilité oui
Pour le point n°3: C'est une chose que j'avais pensé.

Pour ça j'avais pensé modifié la feuille Paramètre, faire une partie création avec plusieurs choix
et une partie modification avec plusieurs choix aussi :

- Si affichage des fêtes ou pas
- Si affichage des fériées ou pas
- Anniversaire ou Fêtes à ne pas oublier

Mais pas facile tout ça pour moi, il me faut un peut de temps quand même ;) ;)
 

Phil69970

XLDnaute Barbatruc
Nicolas

1) Pourquoi la date de fin d’après midi s’arrête à 23 h et pas à 24 h ?

Pour le point n°1: C'est ce que j'avais fais au départ, mais du coup j'avais préféré commencer à 0, parce que 0 = minuit
Non je pensais plutôt à ceci :

J'ai rajouté 24 h dans la liste de validation

1726564089767.png


Pour avoir ceci :

1726564330343.png


Plutôt que cela pas top du tout pour moi

1726564281585.png
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 929
Messages
2 103 635
Membres
108 741
dernier inscrit
adel_benammar