Code qui ne s'affiche pas.

Signaler
-
Messages postés
2318
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
10 janvier 2021
-
Bonjour,

Je travail actuellement sur un code et celui-ci ne m'affiche pas d'erreur mais ne fonctionne pas.
J'avoue que j'ai essayé plein de chose qui ne fonctionne pas.

Voici mon code dans la page ou je le créer :

Public Function CFinitial(VarNomAuteur As String,VarKeyNom As string) As Boolean 
      Dim Retour As Boolean
        If     (VarKeyNom = "Nom" AND
                me.TailleAuteur.CodifSignature = "T_6") Then
            Retour = False
        ElseIf (VarKeyNom = "Nom1") Then
            Retour = False
        ElseIf (VarKeyNom = "Nom2" AND
                me.TailleAuteur.CodifSignature = "T_20") Then
            Retour = False
        ElseIf (VarNomAuteur = "Auteur1" Or VarNomAuteur = "Auteur2" Or VarNomAuteur = "Auteur3") Then
            Retour = True
        End If
      Retour = False
    Return Retour
End Function

Voici mon code qui permet de l'appeler dans une autre page :
CFinitial(VarNomAuteur , VarKeyNom )


Ma formule veut dire : Si Nom et T_6 n'est pas choisie alors on passe au nom1 et si nom1 n'est pas choisie alors on regarde si c'est auteur 1 ou 2 ou 3 est vrai ou faux si vrai ca doit me retourner un code et si faut alors il me retourne rien.
Pour le dire d'une autre façon histoire que tout le monde Su auteur 1 est choisi et n'est pas avec nom et T_6 alors me retourné un code.

Je ne sais pas si je m'exprime correctement mais en gros quoi qu'il arrive mon code ne s'affiche pas…

Quelqu'un serait me dire ce qui cloche ?

1 réponse

Messages postés
2318
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
10 janvier 2021
120
Bonjour
Tout d'abord pour poster un code prière de suivre ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code . Votre code sera bien mieux présenté .
Maintenant ton code est une fonction qui renvoie True ou False . Cette fonction n'a pas pour but d'afficher quelque chose .
De plus quelque chose me "choque" . Tu dis : Ma formule veut dire : Si Nom et T_6 n'est pas choisie alors on passe au nom1
Dans ton cas ton code te renvoie bien True ou False mais ne te dit pas ce qui a été choisi .
Une autre façon plus élégante de faire serait de renvoyer une valeur numérique selon le choix effectué

Public Function CFinitial(VarNomAuteur As String,VarKeyNom As string) As Integer

    If (VarKeyNom = "Nom" And Me.TailleAuteur.CodifSignature = "T_6") Then
        Return 1
    ElseIf (VarKeyNom = "Nom1") Then
        Return 2
    ElseIf (VarKeyNom = "Nom2" And me.TailleAuteur.CodifSignature = "T_20") Then
        Return 3
    ElseIf (VarNomAuteur = "Auteur1" Or VarNomAuteur = "Auteur2" Or VarNomAuteur = "Auteur3") Then
        Return 4
    Else
        Return 5

End Function


Ainsi avec le résultat de 1 à 5 de ces choix au retour tu peux afficher le choix fait .
En espérant bien avoir compris votre souci .