Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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



 

Pièces jointes

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

Ton Pb vient d'ici


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...

TooFatBoy

XLDnaute Barbatruc
Oui j'ai bien vu mais ça ne match pas mieux
Je viens d'ouvrir ton fichier et j'ai plusieurs questions :

- Pourquoi ta feuille FichFetes va-t-elle jusqu'à la colonne seize mille cent trente-cinq ?!?

- Pourquoi ta fonction Agenda essaye-t-elle d'utiliser le TS t_Anniv qui n'existe pas ?

- Pourquoi y a-t-il deux cellules contenant l'année ? Laquelle faut-il garder ?

- Pourquoi la plage nommée t_Anniv est-elle identique au DataBodyRange du TS Tableau3 ?
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Pour le point 1, j'ai que 1220 lignes



Pour le point 2, je dois mal m'y prendre



Et le point 3, j'ai pas compris là question.


Mais je n'arrive toujours pas à ce que je veux
 

TooFatBoy

XLDnaute Barbatruc
Question :
- Pourquoi ta feuille FichFetes va-t-elle jusqu'à la colonne seize mille cent trente-cinq ?!?

Réponse :
Pour le point 1, j'ai que 1220 lignes

Je pense que tu le fais exprès, juste pour que je ne te réponde plus. C'est juste trop pas sympa !



Pour le point 2, je dois mal m'y prendre
C'est pas faux.



Et le point 3, j'ai pas compris là question.
Sérieux ? Qu'est-ce que tu arrives à ne pas comprendre dans cette simple interrogation :
"Pourquoi y a-t-il deux cellules contenant l'année ? Laquelle faut-il garder ?" ?!?

Je pense que tu le fais exprès, juste pour que je ne te réponde plus. C'est juste trop pas sympa !



Et le point 4 ?...




Sur ce, bonne journée
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
@Nicolas JACQUIN

J'ai un peu revisité ton fichier et je l'ai rendu compatible avec excel 2010 et supérieur

Regarde bien le code j'ai commenté toutes les modifications que j'ai faites
J'ai viré les références invalides dans le gestionnaire de noms
J'ai pas vu de bug

Perso :
1) On peu amélioré en mettant une liste déroulante sur les années
2) Les anniversaires manquent de visibilité à mon gout......

Qu'en penses tu ???
 

Pièces jointes

  • Agenda v24.xlsm
    101.4 KB · Affichages: 2

jcf6464

XLDnaute Impliqué
Bonjour à vous tous et le forum

Pour le ref des mois erreur de ma part sur le prochain c'est rectifier)

pour le pavés entre les fêtes et les mois c'est un segment sur la date à refaire depuis le tableau (T_Anniv )
avec liste déroulante sur année

bonne continuation jcf
 

Pièces jointes

  • Agenda v23-1-1.xlsm
    94.6 KB · Affichages: 1
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Re,
Merci c'est bon ça, j'arrive enfin à ce que je souhaitais, j'ai juste refais une petite modif pour que se soit plus clair.
sur cette partie:

VB:
            anniv = ""
            With Sheets("Paramètre").ListObjects("t_Anniv")
                For k = 1 To .ListRows.Count
                    If Month(.ListColumns("Date").DataBodyRange(k)) = mois And Day(.ListColumns("Date").DataBodyRange(k)) = i Then
                        anniv = anniv & .ListColumns("Anniversaire").DataBodyRange(k) & ", "
                    End If
                Next k
                If anniv <> "" Then
                    anniv = Left(anniv, Len(anniv) - 2)
                End If
                With Worksheets("Feuil1")

                    '.Cells(derlig + 2, col).AddComment
                    '* Phil69970 *******************Test si il y a un anniversaire
                    If anniv <> "" Then
                        .Cells(derlig + 2, col) = "C'est l'anniversaire" & vbCrLf & "de :" & vbCrLf & anniv
                        .Cells(derlig + 2, col).VerticalAlignment = xlTop
                        'Else
                        '    .Cells(derlig + 2, col).Comment.Text Text:="Pas d'anniversaire aujourd'hui !"
                    End If
                    '* Phil69970 ******************Fin de test si il y a un anniversaire

Merci
 

Phil69970

XLDnaute Barbatruc
Nicolas

C'était une de mes pistes de réflexion à quoi cela sert de dire : "il y a pas d'anniversaire !!!!" et avec la lisibilité des anniversaires.

Peut être juste de mettre sur 1 ligne "Anniversaire de : "
et sur la ligne suivante "Philippe, Pierre"


.Cells(derlig + 2, col) = "C'est l'anniversaire de :" & vbCrLf & anniv
.Cells(derlig + 2, col).VerticalAlignment = xlTop

Et tu y as répondu

Je l'adopte

Et peut être ceci



à remplacer par cela plus sobre



Et que penses tu des autres modifications que j'ai faites ? (Avec pause/sans pause)
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Si franchement c'est bien (très bien même), j'adopte aussi
Entre temps j'ai pensé à un truc, si c'est pas trop chiant, serait il possible si pas trop de modif d'avoir ce résultat avec les âges ??


J'en demande toujours plus désolé
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…