XL 2016 Erreur de compilation Else sans If

profcg

XLDnaute Nouveau
Bonsoir,
Je rencontre un problème avec une macro qui doit me permettre de calculer un montant net TTC en tenant compte d'une remise, d'un escompte de règlement (si paiement comptant), et de la TVA (si vente en France).
Je n'arrive pas à comprendre pourquoi mes structures conditionnelles bloquent avec le message "Else sans if".
D'autre part, est-il possible, au lieu de passer par des conditionnelles, d'utiliser des boutons oui/non (MsgBox avec VbYesNo) pour répondre aux deux questions directement ?
Merci d'avance pour votre aide précieuse.
 

Pièces jointes

  • TOUTISS_PROF.xlsm
    17.6 KB · Affichages: 4

fanch55

XLDnaute Barbatruc
Bonsoir,
Normal le groupe If/Endif n'est pas syntaxiquement correct .
Pour votre seconde question , un exemple :
VB:
'Calcul net financier'
NetFi = NetCom
If MsgBox("Est-ce que le client paie au comptant", vbQuestion + vbYesNo) = vbYes Then NetFi = NetCom * 0.99
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Vous mélangez deux types de If.
1) — Celui qui commence toujours la ligne, laquelle se termine par Then. Il requiert une intruction End If.
2) — Celui qui ne la commence pas forcément mais porte une instruction suivant immédiatement le Then. Celui ci n'en requiert pas, il ne s'applique qu'à la ligne logique, c'est à dire aussi un groupe de lignes de plusieurs instructions séparées par des ': ' et se terminant par un ' _' de continuation.
Donc c'est soit :
VB:
If PC = "O" Then
   NetFi = NetCom * 0.99
Else: NetFi = NetCom: End If
Soit :
Code:
If PC = "O" Then NetFi = NetCom * 0.99 Else NetFi = NetCom
 

Discussions similaires

Réponses
3
Affichages
599
Réponses
3
Affichages
770

Statistiques des forums

Discussions
312 799
Messages
2 092 239
Membres
105 298
dernier inscrit
doudounapnap