[VBA] Afficher la date du vendredi
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[VBA] Afficher la date du vendredi



  1. #1
    matthieu2

    [VBA] Afficher la date du vendredi


    ------

    Bonjour,

    Je vous explique la situation: je réalise des audits chaque vendredi de chaque semaine. Je me suis créé un fichier excel où pour chaque semaine j'ai un onglet avec la grille d'audit et les résultats associés.

    Afin de simplifier mon travail, j'ai créé une macro permettant la copie de l'onglet de ma grille d'audit vierge. Pour cela, j'ai créé un bouton qui ouvre un User Form où l'utilisateur rentre le numéro de semaine et clique sur valider (ou quitter pour sortir).

    Voila le code (qui fonctionne):
    Code:
    Private Sub CommandButton1_Click()
    
        UserForm1.Hide
        
        Dim Sem As Integer
       
        Sem = TextBox1.Value
        
        Sheets("Template").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Select
        ActiveSheet.Name = "Sem " & Sem
        Range("B2").Value = "Déchargement " & Date
        
    End Sub
    Ce que j'aimerais maintenant faire:
    Dans le Range("B2"), j'ai le nom du département audité suivis de la date de réalisation de l'audit. Comme je réalise ces audits tous les vendredi de chaque semaine, je souhaite que ma "Date" me retourne directement la date du vendredi correspondant à la semaine entrée par l'utilisateur.

    Mon code me retourne la date du jour (c'est à dire quand je lance la macro).

    Voila voila, avez vous une idée? Merci d'avance

    @ Bientôt

    -----

  2. #2
    Spazi

    Re : [VBA] Afficher la date du vendredi

    Bonjour

    Code:
    Dim vendredi As Date
    
    vendredi = DateSerial(Year(Date), 1, 1)
    
    vendredi = DateAdd("ww", (33 - 1), vendredi)
    
    vendredi = DateAdd("w", 6 - Weekday(vendredi), vendredi)
    Vous créé un objet Date, fixé au 1 janvier de l'année en cours

    Vous ajouté votre nombre de semaine (ici 33 (-1 parce que les semaines commencent à 1 et non à 0))

    Ensuite, vous ajouté la différence du jour de la semaine actuel moins vendredi
    (Vendredi est 6, si notre date actuelle tombe un Mercredi, Weekday renverrai 4, 6 - 4 = 2, vous devez bien ajouté 2 jours pour tomber sur le vendredi de la semaine)

    Je ne garantis pas que ce code fonctionne, je l'ai fait à la volée.


    N'oubliez pas qu'il y a une hypothèse implicite dans votre demande, qui est que le jour d'aujourd'hui doit être la même année que la semaine que vous voulez auditer
    (En clair, ce code ne marchera pas si vous demandez la semaine 52 de 2015 lorsque l'on sera le 1er janvier 2016)


    Cordialement

  3. #3
    cherbe

    Re : [VBA] Afficher la date du vendredi

    Citation Envoyé par Spazi Voir le message
    Vous ajouté votre nombre de semaine
    Ce ne serait pas le numéro de semaine ?

    sinon et puisque c'est du VBA Excel, il est possible d'utiliser les fonctions de dates du tableur mais je doute que ce soit plus simple.
    Dernière modification par cherbe ; 14/08/2015 à 04h22.

  4. #4
    matthieu2

    Re : [VBA] Afficher la date du vendredi

    Bonjour,

    Merci pour ce bout de code Spazi. J'ai adapté le "33" avec ma variable "Sem" et cela fonctionne très bien

    Voici donc le code au complet:
    Code:
    Private Sub CommandButton1_Click()
    
        UserForm1.Hide
        
        Dim Sem As Integer
        Dim Vendredi As Date
       
        Sem = TextBox1.Value
        
        Sheets("Template").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Select
        ActiveSheet.Name = "Sem " & Sem
        
        Vendredi = DateSerial(Year(Date), 1, 1)
        Vendredi = DateAdd("ww", (Sem - 1), Vendredi)
        Vendredi = DateAdd("w", 6 - Weekday(Vendredi), Vendredi)
        
        
        Range("B2").Value = "Déchargement " & Vendredi
        
    End Sub
    Merci

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Pour ce vendredi 13, M46
    Par chyneuze dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 3
    Dernier message: 17/04/2012, 16h10
  2. Afficher l'heure et la date constamment sous dos en c
    Par invite46ba2680 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 15/03/2011, 17h41
  3. Probleme sur le programme pour afficher l'heure et la date
    Par invite489d7312 dans le forum Électronique
    Réponses: 20
    Dernier message: 31/03/2010, 13h01
  4. Vendredi 13 ...
    Par invite510ddd2c dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 04/10/2006, 14h22
  5. vendredi 13
    Par invitee17aeca5 dans le forum Science ludique : la science en s'amusant
    Réponses: 19
    Dernier message: 20/04/2005, 18h03