IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Calendrier vba disposition des mois [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Calendrier vba disposition des mois
    Bonjour,

    J'utilise depuis le milieu 2017 ce calendrier pour saisir des dates dans les cellules, tout fonctionne à merveille, mais il y a une chose agaçante depuis cette année, c'est que le mois en cours est tout en bas à droite, alors qu'il devrait être logiquement tout en haut à gauche pour sélectionner les dates dans le futur ...

    Que faut il changer ?

    Merci de votre aide et bonne soirée
    Philippe

    Nom : 2018-05-07_19-20-16.png
Affichages : 608
Taille : 39,1 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Option Explicit
    Private Sub UserForm_Initialize()
            If Not IsDate(ActiveCell.Value) Then
                Me.MonthView1.Value = Date 'Si cellule vide ouvre le calendrier à la date du jour
        Else
                Me.MonthView1.Value = ActiveCell.Value 'Si cellule avec date ouvre le calendrier à la date de la cellule
            End If
    End Sub
    Private Sub CommandButton1_Click() 'Bouton (cacher) avec Cancel à True pour fermer avec la touche ESC
       Unload Me
    End Sub
     
    Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
       On Error Resume Next
       ActiveCell.Value = DateClicked
       Unload Me
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    ne sachant pas comment est géré ton MonthView, je tenterai un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
            If Not IsDate(ActiveCell.Value) Then
                Me.MonthView1.Value = Date + 360 '(pour faire se déplacer dans le futur les dates) puis revenir
                Me.MonthView1.Value = Date 'Si cellule vide ouvre le calendrier à la date du jour
        Else
                Me.MonthView1.Value = ActiveCell.Value+ 360 '(pour faire se déplacer dans le futur les dates) puis revenir
                Me.MonthView1.Value = ActiveCell.Value 'Si cellule avec date ouvre le calendrier à la date de la cellule
            End If
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    c'est quoi se monthview un userform je supose c'est pas un control
    tu es sur de pas le rater celui la
    je pense que pour t'aider il nous faut ce userform et je suis casiment certain le module classe qui va avec
    edit autant pour moi c'est bien un control
    ben dis donc
    je pense que quand tu fait monthview1.value=activecell.value je suis pas sur que ca match essaie cdate(activecell.value)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Hello Patrick,

    je ne vois pas en quoi le code déjà utilisé à un impact sur l'emplacement de la date dans la série de mois, et on a déjà discuté du CDate() dans d'autres sujets. Cela n'a pas de lien direct avec le problème, ni ne solutionnera une erreur
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    oui je viens de tester
    il faut dire que sur 2007 il m'a tellement causer de probleme (il me faisait planter excel sans explication et juste en affichage)que je l'ai bani des controls que j'utilise

    c'est pour ca que je m'en etais fait un (imitation du calendar)

    bon a part mettre le row a 3 et les colonnes a 4 ce qui permet de voir l'année entiere

    en haut a gauche janvier en bas a droite decembre

    je vais suivre ca m'interesse

    a part ca mettre un mois precis en top gauche je sais pas si c'est possible
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    ne sachant pas comment est géré ton MonthView, je tenterai un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
            If Not IsDate(ActiveCell.Value) Then
                Me.MonthView1.Value = Date + 360 '(pour faire se déplacer dans le futur les dates) puis revenir
                Me.MonthView1.Value = Date 'Si cellule vide ouvre le calendrier à la date du jour
        Else
                Me.MonthView1.Value = ActiveCell.Value+ 360 '(pour faire se déplacer dans le futur les dates) puis revenir
                Me.MonthView1.Value = ActiveCell.Value 'Si cellule avec date ouvre le calendrier à la date de la cellule
            End If
    End Sub

    Merci Jean-Philippe André,

    C'est la solution, encore mille merci

    Excellente journée
    Philippe

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bien vu Jean-Philippe André
    le fait de revenir ne rameme pas a janvier a gauche mais au mois de la date en parametre
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA et Outlook : choisir un calendrier pour enregistrer des RDV
    Par ccghost57 dans le forum VBA Outlook
    Réponses: 6
    Dernier message: 07/09/2021, 14h56
  2. [VBA-E] gestion de feuille vis à vis des mois
    Par Jerez62 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2006, 17h55
  3. [Treeview VBA] Liste des fils à partir d'un noeud donné
    Par NoCoZ dans le forum Général VBA
    Réponses: 3
    Dernier message: 26/04/2005, 09h15
  4. [swing] disposition des éléments dans un GridLayout
    Par al85 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 11/02/2005, 17h36
  5. [VBA] propiétés des contrôles
    Par Julien Dufour dans le forum IHM
    Réponses: 4
    Dernier message: 26/10/2004, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo