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 :

Bouton qui permet d'atteindre la feuille qui comporte la date du jour [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Employée de commerce
    Inscrit en
    Janvier 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employée de commerce
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2023
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Bouton qui permet d'atteindre la feuille qui comporte la date du jour
    Bonjour à tous!

    Je suis toute nouvelle sur le forum donc d'avance désolée si je ne suis pas claire (c'est même la première fois que je poste sur un forum )

    Voilà mon soucis:

    J'ai un planning de vacances avec une feuille par mois (je vous le met directement en annexe car très difficile de vous expliquer mon problème: Vacances.xlsm). Sur chaque feuille, en B94 la date du 1er du mois. En ligne 8 une formule qui reprend la date mentionnée en B94 pour afficher une colonne par jour.

    Il arrive que les employés enregistre le fichier sur une feuille qui ne concerne pas le mois en cours. Donc lorsque j'ouvre le fichier, je me retrouve sur la mauvaise feuille, ce qui ne m'arrange pas.

    Je vois 2 solutions:
    Soit créer un bouton sur chaque feuille qui permettrait d'atteindre directement la feuille sur laquelle il y a la date du jour.
    OU
    Que lorsque j'ouvre le document, il s'ouvre automatiquement sur la feuille sur laquelle il y a la date du jour.

    Après des heures de recherches sur les forums, je viens à vous car je n'ai rien trouvé qui fonctionne avec mon fichier.

    Je tiens à préciser que je ne connais pas bien le VBA. Je sais faire des boutons simple en utilisant "Enregistrer une macro", mais dès qu'il faut écrire moi-même le code, c'est la cata.

    Quelqu'un peut m'aider?

    Grand merci pour votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 365
    Points : 631
    Points
    631
    Par défaut
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub AtteindreDate()
    DateDuJour = Date
    k = Sheets.Count
    For i = 1 To k
    Dim cellule As Range
    For Each cellule In Sheets(i).Range("E8:AK8")
    If cellule = DateDuJour Then
    Sheets(i).Select
    Cells(8, cellule.Column).Select
    End If
    Next cellule
    Next i
    End Sub
    a mettre dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_Open()
    pour l'actionner a l'ouverture du fichier

    Nom : Capture.JPG
Affichages : 53
Taille : 110,5 Ko

    aller dans vba puis this workbook pour ajouter le code

  3. #3
    Membre confirmé Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 350
    Points : 625
    Points
    625
    Par défaut
    Salut,
    Une autre solution consisterait à cacher les feuille qui ne sont pas concernées, dans le module1 tu colle ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub DisplayMonth()    Dim wsh As Worksheet
        Dim Ele As Variant
     
     
        For Each wsh In ThisWorkbook.Worksheets
            Ele = Split(wsh.Name, " ")(0) ' // On récupère le nom du mois de la feuille
            If UCase(Ele) = UCase(MonthName(Month(Date))) Then ' // On vérifie l'égalité avec le mois en cours
                wsh.Visible = xlSheetVisible ' // Egal au moi en cours on affiche la feuille
            Else
                wsh.Visible = xlSheetVeryHidden ' // Pas égal alors on cache la feuille
            End If
        Next
    End Sub
    Ensuite il ne reste plus qu'a appeler la sub à l'ouverture du classeur donc dans ThisWorkbook_Open tu colles ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Explicit
     
     
    Private Sub Workbook_Open()
        Module1.DisplayMonth
    End Sub
    Voilà bonne prog.
    Jean-Paul sous Office 365 et Windows 10/11 (Intel I7 16Go)

    Si vous avez trouvé réponse à votre question penser à la passer en Vous avez aimé la discussion alors un fait toujours plaisir.
    Le savoir n'a de valeur que s'il est partagé.
    La vérité de demain se nourrit de l'erreur d'hier. Antoine de Saint-Exupéry

  4. #4
    Candidat au Club
    Femme Profil pro
    Employée de commerce
    Inscrit en
    Janvier 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Employée de commerce
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2023
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos retours!

    La solution proposée par a_diard fonctionne à merveille

    Génial ce forum!


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

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/12/2019, 19h12
  2. Réponses: 2
    Dernier message: 14/12/2010, 18h11
  3. TDateTimePicker qui affiche la date du jour
    Par bullrot dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/11/2007, 16h25
  4. nommer une feuille excel par la date du jour.
    Par Bourezak dans le forum Access
    Réponses: 3
    Dernier message: 22/01/2007, 15h22
  5. Fonction utilisateur qui renvoie la date du jour
    Par falcon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2004, 11h03

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