Code VBA

saly -  
 tessel75 -
Bonjour,

J'ai un petit soucis aavec mon code VBA
je veux utiliser la fonction IF et affecter la valeur obtenue à une cellule nommé priorité
le champs priorité est conditionné par deux autres champs nommés result et urgence. voici le code:

Public Function Implication(result As Double, Urgence As String) As String

Dim Priorité As String

If result = 1 And Urgence = normal Then Priorité = faible
If result = 1 And Urgence = urgent Then Priorité = faible
If result = 2 And Urgence = normal Then Priorité = faible
If result = 2 And Urgence = urgent Then Priorité = faible
If result = 3 And Urgence = normal Then Priorité = haute
If result = 3 And Urgence = urgent Then Priorité = haute
If result = 4 And Urgence = normal Then Priorité = haute
If result = 4 And Urgence = urgent Then Priorité = haute
If result = 5 And Urgence = normal Then Priorité = haute
If result = 5 And Urgence = urgent Then Priorité = haute

Implication = Priorité

End Function

Private Sub priorité_AfterUpdate()

Implication

End Sub
J'ai même changé la source contrôle dans les propriétés de la cellule "priorité" t j'ai mis comme source la fonction Implication mais ça ne marche pas .
Si quelqu'un peut m'aider ça sera vraiment gentil

2 réponses

  1. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    mais ça ne marche pas .
    Si tu commençais par dire ce qui ne marche pas ?
    0
  2. tessel75
     
    Bonsoir,
    Pourquoi faire simple quand on peut faire tellement plus compliqué, n'est ce pas?
    A te lire, il parait sauter aux yeux que :

    If result <3 Then
    Priorité = "faible"
    ElseIf result > 2 then
    Priorité = "haute"
    End if


    Déjà les compléments à la condition ne servent à rien, au moins dans ton expression. Ensuite il faudrait ne pas oublier les guillemets sinon VBA comprendra que "Faible" et "Haute" sont des paramètres internes à la procédure et non pas des valeurs. Enfin j'ai utilisé "Result" mais sans savoir ce que c'est? Tu ne le dis pas; pourtant ça pourrait rendre service.

    Enfin tu écris :
    "Public Function Implication(result As Double, Urgence As String) As String
    ... ... Tatatata ... ...
    Implication = Priorité
    End Function

    Private Sub priorité_AfterUpdate()
    Implication
    End Sub
    "

    Pourquoi ne pas écrire directement
    "If ... then Implication = "Faible" ou "Forte" "
    Et pourquoi une fonction et une procédure Sub ? Pourquoi ne pas utiliser la fonction directement dans ton formulaire ou ton état.
    Bonne suite.
    0