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 :

Identifier 1er jour du mois en cours dans plage de Dates [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    January 2013
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : January 2013
    Messages : 589
    Points : 152
    Points
    152
    Par défaut Identifier 1er jour du mois en cours dans plage de Dates
    Bonjour,

    Pour déterminer le n° de colonne correspondant à la date du jour de mon tableau, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Num_Col_Today = Application.Match(CLng(VBA.Date), Range("$C$4:$NG$4"), 0) + 1
    Comment déterminer le n° de colonne correspondant au premier jour du mois en cours ?

    J'ai essayé d'adapter ma formule avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSerial(Year(Date), Month(Date), 1)
    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Num_Col_1er_Jour = Application.Match(DateSerial(Year(Date), Month(Date), 1), Range("$C$4:$NG$4"), 0) + 1
    ... mais c'est manifestement une (très) mauvaise piste.

    En vous remerciant par avance pour vos lumières,
    Cdt

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : July 2007
    Messages : 14 579
    Points : 34 212
    Points
    34 212
    Par défaut
    Bonjour,

    concrètement, que souhaites-tu obtenir/faire ?

    Tu peux faire une fonction qui te retourne une valeur numérique, une plage de cellule...

    Que faire si la date du 1er de ton mois n'existe pas ?
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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
    Membre habitué
    Homme Profil pro
    Inscrit en
    January 2013
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : January 2013
    Messages : 589
    Points : 152
    Points
    152
    Par défaut
    Bonjour,

    Num_Col_Today me renvoie le n° de la colonne de la date du jour (sachant que les dates se trouvent dans la plage "$C$4:$NG$4").

    Ce nombre me permet de caler le tableau à cette date (à l'ouverture du classeur) via un Scroll.Columns et accessoirement de masquer les colonnes correspondant aux dates antérieures.

    A présent, je souhaite récupérer le n° de colonne du 1er jour du mois en cours pour caler le tableau sur cette date et créer un PDF pour ledit mois en cours.

    En espérant avoir été plus clair,
    Cdt

  4. #4
    Membre éprouvé
    Inscrit en
    December 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : December 2002
    Messages : 744
    Points : 1 168
    Points
    1 168
    Par défaut
    Citation Envoyé par jpma75 Voir le message
    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Num_Col_1er_Jour = Application.Match(DateSerial(Year(Date), Month(Date), 1), Range("$C$4:$NG$4"), 0) + 1
    ... mais c'est manifestement une (très) mauvaise piste.

    En vous remerciant par avance pour vos lumières,
    Cdt
    Salut, tu y étais presque, il manquait Clng placé au bon endroit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Num_Col_1er_Jour = Application.Match(CLng(DateSerial(Year(Date), Month(Date), 1)), Range("$C$4:$NG$4"), 0) + 1

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    January 2013
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : January 2013
    Messages : 589
    Points : 152
    Points
    152
    Par défaut
    Bonsoir Franc,

    Merci beaucoup !! C'est parfait.

    Après une petite recherche, je viens de comprendre la nécessité de ce CLng.

    Cdt

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

Discussions similaires

  1. 1er jour et dernier jour du moi en cours
    Par mchouchane dans le forum Power BI
    Réponses: 2
    Dernier message: 02/04/2020, 17h32
  2. Réponses: 2
    Dernier message: 31/07/2014, 16h45
  3. Dernier Jours du mois en cours
    Par paradeofphp dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/06/2006, 20h55
  4. Récuperer les jours du mois en cours
    Par mindwind dans le forum Oracle
    Réponses: 22
    Dernier message: 15/12/2005, 12h30
  5. Obtenir le 1er jour du mois d'une date
    Par soso78 dans le forum Access
    Réponses: 4
    Dernier message: 27/09/2005, 13h15

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