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 :

Modifié fonction introuvable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut Modifié fonction introuvable
    Bonjour tout le monde;


    Voilà j'aimerais augmenter les dates ainsi que le calcul des jours férié sur un fichier trouvé sur le net, malheureusement je ne trouve nulle part comment le modifier.
    Je m'explique, le fichier permet de faire les horaire du personnel , mais il est ne va que de l'année 2003 à 2020, j'aimerais donc qu'il puisse allez par exemple jusqu'en 2040.

    J'aurais donc besoin de vous.


    Il s'agit donc d'un fichier excel permettant de faire l'horaire du personnel, il prend en charge le calcul des jours fériés en fonction de l'année, il m'indique donc dans le calendrier excel les jours fériés, les jours de récupération à introduire dans l'horaire.

    Le soucis c'est que la personne qui à fait le fichier excel a limité le calcul à l'année 2020, et j'aimerais donc poursuivre le calcul jusque par exemple 2040, mais je ne trouve pas ou (je pense qu'il s'agit d'un algorithme) il se trouve et comment le modifier.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    Pour le calendrier, tu pourrais te baser sur ce fichier en Pj et l'adapter à tes besoins.
    Je précise que ce fichier n'est qu'un exemple.

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    J’avais trouvé également, sur internet un code pour calculer les jours fériés. Les fêtes religieuses sont calculé a partir de pâque et effectivement un feuille excel donnait toutes les dates de pâque jusqu'à 2020. Mais mois c’est dans ACCESS que j’en avais besoin et une feuille excel, l’importer dans une table il n’en était pas question. J’ai potassé pour pouvoir calculer pâque et j’ai modifié la fonction en conséquence. Et la voila.

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    sub test()
    If Ferie(CLng(cdate("01/01/2013"))) = True Then  MsgBox 
    end sub
     
    ' Cette fonction renvoie Vrai si la date transmise est un jour férié
    ' fixe ou mobile
    ' les lundis de paques ne sont pas calculés mais trouvés sur le site
    ' de l'Institut de Mécanique Céleste et de Calcul des Ephémérides (IMCCE)
    ' par exemple
    Function Ferie(UneDate As Long, Optional DimanchesOuiNon As Boolean) As Boolean
    ' Par défaut la fonction ne considère pas que les Dimanche de Pâques
    ' et de Pentecôte sont fériés
    ' il suffit de renseigner l'argument DimanchesOuiNon à True à l'appel de la fonction
    ' pour les considérer comme fériés
    If IsNull(DimanchesOuiNon) Then DimanchesOuiNon = False
     
    Dim JFF ' table des fériés fixes (jours)
    Dim MFF ' table des fériés fixes (mois)
    JFF = Array(1, 1, 8, 14, 15, 1, 11, 25)
    MFF = Array(1, 5, 5, 7, 8, 11, 11, 12)
    Dim J As Long
    Ferie = False
    ' Recherche dans la table des jours fériés fixes
    For J = 0 To 7
    If Day(UneDate) = JFF(J) And Month(UneDate) = MFF(J) Then
    Ferie = True
    Exit Function
    End If
    Next J
    Dim FM ' contient les dates des lundis de Paques
    'FM = Array(38824, 39181, 39531, 39916, 40273, 40658, 41008, _
    '41365, 41750, 42100, 42457, 42842, _
    '43192, 43577, 43934, 44291, 44675, _
    '45026, 45383, 45768, 46118, 46475, _
    '46860, 47210, 47595)
     
    FM = Paque(Year(UneDate))
    ' Recherche si la date est un lundi de paques
    ' ou jeudi de l'ascension
    ' ou lundi de pentecôte
    'For J = 0 To 24 ' à changer si vous allez au delà de 2030
    If (UneDate = FM) Or (UneDate = FM + 39) Or (UneDate = FM + 50) Then
    Ferie = True
    Exit Function
    End If
    ' si DimanchesOuiNon est vrai
    ' on teste les dimanches de Pâques et Pentecote
     
     
    If DimanchesOuiNon Then
    If (UneDate = FM - 1) Or (UneDate = FM + 48) Then
    Ferie = True
    Exit Function
    End If
    End If
    'Next J
    End Function
     
    Function Paque(Annee As Integer) As Date
    Dim A, B, C, D, E, F, G, H, I, J, K, L, M, N, O
    C = Annee - 1900
    D = C Mod 19
    E = (D * 7) + 1
    F = Int(E / 19)
    G = 11 * D - F + 4
    H = G Mod 29
    I = Int(C / 4)
    J = C - H + I + 31
    L = J Mod 7
    K = J Mod 7
    L = 25 - H - K
    M = CDate("31/03/" & Annee)
    Paque = M + L
    End Function

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Merci pour avoir pris le temps de chercher une réponse, mais mon premier problème est de trouver est cette commande, car je ne la trouve nulle part dans le fichier.Donc ma première question est comment trouvé le code, une fois que je l'aurai trouvé je pourrai le modifié avec vos pistes.

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    en supposant que tu utilise Excel 2007 ou supérieur voir

    http://excel.developpez.com/faq/?page=VBA#Developpeur

    puis Ctrl+F pour rechercher 2020 ... dans tout ton projet..

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Merci pour la petite explication, mais je n'ai rien trouver.
    Voilà comment j'ai fait (J'utilise excel 2010) :
    J'ai été dans l'onglet développeur, j'ai cliqué sur l'icone visual basic, la les projet vba s'est ouvert.
    Dans la fenêtre de gauche j'ai la liste des projets reprenant 3 dossiers (microsoft excel project,feuilles et modules).
    Dans ces 3 dossiers j'ai des feuilles avec des noms.
    Dans le dossier microsoft excel object, j'ai décembre, novembre et ainsi de suite, Va, code, paramètres, maladie, accueil. Toute les feuilles sont vide mis à part acceuil ou je retrouve ceci dans la fenêtre de gauche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    '=Année===========================================================
    If ActiveCell.Address() = "$D$23" Then
    SelectAnnee.Show
    End If
    '=================================================================
    End Sub
    Dans feuilles j'en ai 2 nommées formabout et selectannee, et dans modules j'ai 2 fichiers barremenu et module1.

    J'ai fait une recherche (ctrl F) 2020 partout mais j'ai rien trouvé.Est ce que ma manière de faire et correct ou je doit chercher autrement?

Discussions similaires

  1. [GD] Probléme fonctions introuvables
    Par Cazman dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/09/2006, 16h25
  2. Fonction introuvable
    Par T'chab dans le forum Access
    Réponses: 3
    Dernier message: 28/06/2006, 22h49
  3. fonction introuvable dans la dll ?
    Par FamiDoo dans le forum C++
    Réponses: 5
    Dernier message: 22/06/2006, 16h33
  4. Appel d'une fonction introuvable
    Par Oberown dans le forum ASP
    Réponses: 5
    Dernier message: 20/04/2006, 14h05
  5. Nom de fonction introuvable
    Par Jérémy VAUTIER dans le forum Access
    Réponses: 4
    Dernier message: 01/03/2006, 09h50

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