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

VBA Access Discussion :

Transporter une formule Excel dans Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Novembre 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 111
    Par défaut Transporter une formule Excel dans Access
    bonjour au forum,

    Débutant en Access, j'aimerais tranporter une formule d'un fichier Excel pour calculer un temps de carence pour un nouvelle mission d'intérimaire. J'arrive a faire une requete avec une partie du calcul mais la formule doit prendre uniquement les jours de travail (workday) et une function IF.
    Je pense qu'il faut passer par du VBA ou SQL mais là cela dépasse mes competences.
    Je joint le fichier Excel, la formule finale est en AC.

    Merci pour toute l'aide que vous pourriez m'apporter.

    Cordialement.Exemple carence.xlsx

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Pour autant que la règle est

    - si la durée du dernier contrat est supérieure à 14 jrs, alors durée divisé par 2 et forcer à l'unité supérieure
    - sinon, retourner vide,

    voici une fonction équivalente en Access

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Option Explicit
     
     
    Public Function carence(DureeDernContrat As Long) As String
      If DureeDernContrat > 14 Then
          carence = CInt((DureeDernContrat / 2) + 0.5)
        Else
          carence = ""
      End If
     
    End Function



  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Novembre 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 111
    Par défaut
    Bonsoir au Forum et à Claude

    Je vais tenter cela demain,

    Merci pour ce tuyau.
    J'ai toujours un problème car la règle doit impliquer une durée du contrat sans compter les W.E (les jours fériés comptes) et je n'arrive pas à faire ce calcul en access.
    J'ai l'expérience qu'avec Access 2007 je ne suis pas arrivé à faire deux champs calculé dans une même requête, d'où mon idée de passer par le VBA ou SQL.

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Pour les jours ouvrés, regarde ici : http://claudeleloup.developpez.com/t...plic-ploc/#LIV

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Novembre 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 111
    Par défaut
    Bonjour Claude et au forum,

    Concernant la formule, elle dit
    Si la durée du dernier contrat est <14, divisé la durée par 2, sinon divisé par 3.

    J'ai réussi à faire la table des jours ouvrés, j'ai mis la function dans un module, comment faire maintenant pour mettre tout cela en pratique.

    Dans mon formulaire, j'ai les chants "début de contrat" et "fin de contrat", "durée du "contrat", "carence" et "date de reprise possible".

    est-ce que je dois creer un bouton charger de faire les calcules en VBA.

    Cdt.

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Si tu veux, je te proposerai un exemple. Poste une version Access2000 de ta db (avec des données anonymes, mais représentatives) pour que je puisse tester.


    Si la durée du dernier contrat est <14, divisé la durée par 2, sinon divisé par 3.
    Dans l'exemple que tu donnais 15/2 = 8 jrs
    Que doit donner 16/3 ? 5 ou 6 jrs ?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/10/2016, 18h53
  2. [AC-2007] Insérer une formule excel dans un champ
    Par jpg75014 dans le forum IHM
    Réponses: 5
    Dernier message: 22/06/2011, 12h07
  3. VBA lier une table Excel dans Access
    Par darkspoilt dans le forum VBA Access
    Réponses: 10
    Dernier message: 21/05/2007, 15h33
  4. Réponses: 5
    Dernier message: 20/06/2006, 08h24
  5. [debutant] Traduite une formule excel dans access
    Par zelob dans le forum Access
    Réponses: 5
    Dernier message: 25/02/2006, 05h17

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