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 :

Problème de dates [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 23
    Par défaut Problème de dates
    Bonjour,



    comme à chaque fois en VBA avec les dates je galère... et je ne trouve pas la solution à mon problème pourtant simple :/

    J'ai besoin de calculer une date de fin avec la fonction SERIE.JOUR.OUVRE en VBA.

    Je patauge et je teste toutes les combinaisons possibles mais impossible d'obtenir le résultat souhaité...


    Voici mon code :

    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
     
            Dim Debut As Date
            Dim DureeTheo As Double
            Dim FinTheoString As String
            Dim FinTheoDate As Date
            Dim k As Integer
            For k = 2 To Range("A1").CurrentRegion.End(xlDown).Row
                Debut = Range("E" & k).Value
                DureeTheo = Range("G" & k).Value / 5
                FinTheoString = "SERIE.JOUR.OUVRE(" & CDate(Debut) & ";" & DureeTheo & ")-1"
                FinTheoDate = Evaluate(FinTheoString)
                Range("N" & k).Value = DureeTheo
                Range("O" & k).Value = FinTheoDate
     
            Next k

    J'ai un tableau contenant les dates de début en colonne "E"
    Une durée théorique que j'obtiens en divisant la valeur de la colonne "G" par 5

    A partir de là j'essaye de trouver la date de fin en tenant compte des jours ouvrés avec SERI.JOUR.OUVRE.

    Quand c'est fait j'écrit la durée théorique et la date de fin dans d'autres cellules.




    Le code ci-dessus est la dernière version à laquelle je suis arrivé mais j'ai tenté beaucoup d'autres choses différentes.

    Ici le code plante à la ligne EVALUATE à cause d'une incompatibilité de type...



    Pouvez-vous m'aider, je suis complètement paumé et je ne comprend rien aux dates en VBA sous Excel.


    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Tu dois mettre la formule en anglais, avec des virgules au lieu de ";" et pas de signe "=" en tête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FinTheoString = "WORKDAY(" & CDate(Debut) & "," & DureeTheo & ")-1"
    NB. Comme tu as défini "Debut" comme date, tu ne dois pas mettre "CDate" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FinTheoString = "WORKDAY(" & Debut & "," & DureeTheo & ")-1"

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    J'aurais mieux vu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FinTheoString = "WORKDAY(""" & Debut & """," & DureeTheo & ")-1"
    Cordialement.

  4. #4
    Membre averti
    Inscrit en
    Février 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 23
    Par défaut
    Super vous êtes géniaux !

    En effet je n'avais pas mis de CDate au début car j'avais déclaré en Date mais à cause du problème de type j'ai tenté ça...

    En tout cas ça fonctionne (vos deux solutions) et c'est super.



    C'est vraiment pas top ces problèmes Américain/Anglais et Français... Sans arrêt des problèmes à cause de ça. Idem pour les formats de date qui sont galère.
    Un effort Microsoft svp !


    Merci beaucoup à vous deux !

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Au temps pour moi; l'ami gFZT82 a parfaitement raison.

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

Discussions similaires

  1. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 15h34
  2. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 10h52
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 11h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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