VBA - fonction ...

Résolu
Tehani_t Messages postés 245 Statut Membre -  
Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    

    0
  2. Tehani_t Messages postés 245 Statut Membre 21
     
    Ca ne marche pas !!! :-(
    0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Qu'est-ce qui ne marche pas ?

    Pour moi ça fonctionne, cela vient peut-être de la suite du code...
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      PS :Pour que la fonction puisse être utilisée, il faut enregistrer le fichier modifié
      0
  4. Tehani_t Messages postés 245 Statut Membre 21
     
    ca y est j'ai trouvé merci !!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Pour ceux qui consulteront ce poste, peux tu préciser ce qui posait problème

    et mettre le poste en résolu
    0
  7. Tehani_t Messages postés 245 Statut Membre 21
     
    c'est juste le format de la cellule qui n'allait pas !
    0
  8. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    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)]
    0