Microsoft 365 If then else.... j'ai pas mes lunettes.

merinos

XLDnaute Accro
Bonjour a tous,

Il doit y avoir un problème a mes lunettes...

J'arrive plus a ecrire un if then else ...

1644229694734.png



VB:
Public Function fctn_DEVICE(machaine) As String

If machaine = "" Then fctn_DEVICE = tempresult
                  else fctn_DEVICE =Application.WorksheetFunction.XLookup("*" & machaine & "*", Range("devices[DEVICE_NAME.2]"), Range("devices[DEVICE_NAME.2]"), "GRRR", 2, 1)

End Function

Il y quelqu'un qui a de meilleure lunettes que moi?


Merci,


Merinos , qui cours avec un bonnet d'âne...
 
Solution
re
bonjour
un if else end if doit avoir ses commandes soit sur une seule ligne soit sur 3

j'explique
si tu fait
if toto mange des bonbon then toto est gourmand
else:toto n'est pas gourmand
end if

comme apres "then" il y a du code, vba l'interprete comme
un if else mono ligne donc erreur
puisque ton else n'a pas de preambule if

----------------------------------------------------------------------------------------------
si maintenant je fait
if toto mange des bonbon then
toto est gourmand
else:toto n'est pas gourmand
end if

là on est bon même si je met la condition else sur sa...

JM27

XLDnaute Barbatruc
bonjour

VB:
Public Function fctn_DEVICE(machaine) As String
    If machaine = "" Then
        fctn_DEVICE = tempresult
    else
         fctn_DEVICE =Application.WorksheetFunction.XLookup("*" & machaine & "*", Range("devices[DEVICE_NAME.2]"), Range("devices[DEVICE_NAME.2]"), "GRRR", 2, 1)
    end if
End Function

Edit : Bonjour Pierre Jean ; ton calendrier (Pic Date): super ;)
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
un if else end if doit avoir ses commandes soit sur une seule ligne soit sur 3

j'explique
si tu fait
if toto mange des bonbon then toto est gourmand
else:toto n'est pas gourmand
end if

comme apres "then" il y a du code, vba l'interprete comme
un if else mono ligne donc erreur
puisque ton else n'a pas de preambule if

----------------------------------------------------------------------------------------------
si maintenant je fait
if toto mange des bonbon then
toto est gourmand
else:toto n'est pas gourmand
end if

là on est bon même si je met la condition else sur sa propre ligne car il y a le ":" qui remplace un saut de ligne
-------------------------------------------------------------------------------------------------
maintenant si je fait
if toto mange des bonbon then toto est gourmand else toto n'est pas gourmand
là on est sur un if else mono ligne on met pas les ":" apres else et on met pas de "end if "

j'ajouterais dans le cas du if elseif end if
chaque else if doivent avoir leur propre ligne et toujours pas de code après then sur la même ligne du if

if ceci then
ça
elseif cela then ce bidule
elseif ce truc then ce chose
elseif ce machin then et j'en sais rien moi!!
end if
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Avec le caractère de continuation de ligne cela peut fonctionner :
VB:
    If machaine = "" Then fctn_DEVICE = 1 _
                    Else fctn_DEVICE = 2

Egalement ceci si on veut faire court
Code:
fctn_DEVICE = 1 - (machaine <> "")
en vertu de TRUE = -1 et FALSE = 0

Cordialement
 

Discussions similaires

Réponses
19
Affichages
2 K