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 :

Calcul de dates


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable restauration
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable restauration

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Par défaut Calcul de dates
    Bonjour

    J'essaie actuellement de générer une date automatique dans un fichier de bon de commande que j'essaie de réaliser.

    En bref;
    • On a un userform fournisseur dans lequel on règle le nom du fournisseur
    • Dans ce même userform, on règle les jours sur lesquels le fournisseur livre (checkbox lundi à vendredi)
    • pour chaque jour de livraison coché, on règle le jour durant lequel la commande doit être passée pour recevoir la commande le jour coché
    • exemple : le fournisseur A a le jour de livraison du lundi de coché avec commande le vendredi. Cela signifie que pour recevoir ma commande lundi, je dois commander vendredi.


    Pour le moment j'arrive plus ou moins à générer ces infos avec le code présent dans le userform_bon_commande, mais il y a qques soucis qui résident ;
    • Exemple : le fournisseur restofrais : ca donne à chaque fois le bon jour.
    • Pour le fournisseur terroirist, par contre, il livre le lundi (avec commande le jeudi) et le jeudi (avec commande le lundi). Si je fais un test sur le lundi, ça fonctionne bien, il dit commande le lundi pour livraison le jeudi. Par contre, si je prend le mardi, il me propose commande le lundi pour livraison le jeudi. Alors que je suis trop tard et qu'il aurait du me proposer la commande le jeudi pour livraison au plus tot le lundi. Je ne comprends pas trop, ça fait un moment que je cherche.


    Le but de tout ça où je bloque aussi (la message box n'est pas le but, c'est juste pour m'aider à travailler)
    • Que le Label_date_livraison dans le userform_bon_commande me dise, dès sélection d'un fournisseur, la première date de livraison possible selon la date du jour de commande et selon les conditions citées ci dessus. Il faut donc réussir à générer ce fameux label
    • que le Label_prochain_creneau de livraison contienne le prochain créneau de livraison possible si je ne commande pas maintenant
    • Rajouter si possible une condition horaire "commande avant X heure" que je rajouterai par la suite dans le userform fournisseur. Si par exemple la limite est 14h, cela signifie que si je passe commande à 15h et qu'on est lundi, le formulaire considérera qu'on passe au conditions de commande comme si on était le lendemain.


    Le code est ci-dessous, et le fichier est ci-joint :-)
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Private Sub combobox_fournisseur_change()
     
     
        ligne_fournisseur = sh_four.Columns("A").Find(ComboBox_fournisseur.Value).Row
     
        jour_de_commande = 43928
     
     
     
        'recherche du premier jour de commande/livraison possible
        'décallage de 1 autorisé car premier jour de livraison possible = lendemain et pas jour même
        For i = Weekday(jour_de_commande) To 7
            If sh_four.Cells(ligne_fournisseur, 10 + i) = True Then
                premier_jour_commande = Cells(ligne_fournisseur, 18 + i): jour_livraison = i + 1: Exit For 'on sélectionne le jour le LENDEMAIN du weekday date
            Else
            If premier_jour_commande = Empty Then
                For d = 1 To Weekday(jour_de_commande) 'si trop proche de la fin de semaine, plus de choix, donc retour au début
                If sh_four.Cells(ligne_fournisseur, 10 + d) = True Then premier_jour_commande = Cells(ligne_fournisseur, 18 + d): jour_livraison = d + 1: Exit For
                Next
            End If
            End If
        Next
        'MsgBox "i : " & i & "  ///premier_jour_commande :" & premier_jour_commande & "   /// jour livraison : " & jour_livraison & "  ///d :" & d
     
        'mise sous forme de weekday
        If premier_jour_commande = 6 Then
                premier_jour_commande = 1
            Else
                premier_jour_commande = premier_jour_commande + 2
        End If
     
        'If premier_jour_commande
     
        If premier_jour_commande = 2 Then jour = "lundi"
        If premier_jour_commande = 3 Then jour = "mardi"
        If premier_jour_commande = 4 Then jour = "mercredi"
        If premier_jour_commande = 5 Then jour = "jeudi"
        If premier_jour_commande = 6 Then jour = "vendredi"
        If premier_jour_commande = 7 Then jour = "samedi"
        If premier_jour_commande = 1 Then jour = "dimanche"
     
        If jour_livraison = 2 Then jour_livraison = "lundi"
        If jour_livraison = 3 Then jour_livraison = "mardi"
        If jour_livraison = 4 Then jour_livraison = "mercredi"
        If jour_livraison = 5 Then jour_livraison = "jeudi"
        If jour_livraison = 6 Then jour_livraison = "vendredi"
        If jour_livraison = 7 Then jour_livraison = "samedi"
        If jour_livraison = 1 Then jour_livraison = "dimanche"
     
     
        MsgBox "si je commande le " & CDate(jour_de_commande) & ", je passe cmd le " & jour & " pour être livré le " & jour_livraison
     
        'date_livraison=
     
     
    End Sub
    Merci d'avance & bonne soirée
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 12h13
  2. COUNT + Calcul de DATE
    Par cassi2 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/10/2004, 16h35
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. SCRIPT CALCULANT LA DATE
    Par Redouane dans le forum ASP
    Réponses: 3
    Dernier message: 17/03/2004, 09h10
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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