XL 2016 Erreur de compilation Else sans If

  • Initiateur de la discussion Initiateur de la discussion profcg
  • Date de début Date de début

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

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
877
Réponses
10
Affichages
831

Statistiques des forums

Discussions
315 285
Messages
2 118 021
Membres
113 412
dernier inscrit
Casi18