VBA - fonction ...

Résolu
Bonjour,

J'ai une fonction :

Function calcul_avancement(ByVal date_av_max As Variant, ByVal duree_pos As Variant, ByVal test_pos As Variant, ByVal jj As Variant, ByVal mm As Variant, ByVal aa As Variant) As Variant

Dim an_res As Variant
Dim an_ent As Variant
Dim an_dec As Variant
Dim mois_res As Variant
Dim mois_ent As Variant
Dim mois_dec As Variant
Dim jour_res As Variant
Dim jour_ent As Variant
Dim jour_dec As Variant
Dim jour As Variant
Dim mois As Variant
Dim annee As Variant
Dim date_mem As Variant
Dim annee_mem As Variant
Dim jour_mem As Variant
Dim mois_mem As Variant

If duree_pos = "" Then
calcul_avancement = date_av_max
end if

...
End Function

Je l'appelle à partir d'une cellule A1. J'aimerais que : lorsque duree_pos n'est pas renseigné, la fonction renvoie date_av_max, mais rien ne s'affiche, pourquoi ??

Merci !!

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Il serait préférable de passer « duree_pos » en tant que paramètre optionnel et de tester l'absence de passage du paramètre :

    Function calcul_avancement(ByVal date_av_max As Variant, ByVal test_pos As Variant, ByVal jj As Variant, ByVal mm As Variant, ByVal aa As Variant, Optional ByVal duree_pos As Variant) As Variant
    
    Dim an_res As Variant
    Dim an_ent As Variant
    Dim an_dec As Variant
    Dim mois_res As Variant
    Dim mois_ent As Variant
    Dim mois_dec As Variant
    Dim jour_res As Variant
    Dim jour_ent As Variant
    Dim jour_dec As Variant
    Dim jour As Variant
    Dim mois As Variant
    Dim annee As Variant
    Dim date_mem As Variant
    Dim annee_mem As Variant
    Dim jour_mem As Variant
    Dim mois_mem As Variant
    
    
    If IsMissing(duree_pos) Then calcul_avancement = date_av_max
    
    End Function
    
    Cordialement
    Patrice
    

    1. Qu'est-ce qui ne marche pas ?

      Pour moi ça fonctionne, cela vient peut-être de la suite du code...
      1. PS :Pour que la fonction puisse être utilisée, il faut enregistrer le fichier modifié
    2. Pour ceux qui consulteront ce poste, peux tu préciser ce qui posait problème

      et mettre le poste en résolu
      1. Contributeur
        Salut le forum

        Tehani, merci de faire passer ta ficelle en [Résolu]

        Mytå
        Merci de donner suite à votre question, nous ne sommes pas des robots...
        Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]