VBA fonction Yes/No

Résolu/Fermé
Bonjour,

Un petit problème, je voudrais donc d'abord savoir si la personne est Propriétaire ou Locataire ensuite si elle est propriétaire savoir si elle à un financement ou pas (avec la fct yes/no):
Je suis bloqué ici ...
__________________________________________

Dim Proprio As Byte
Dim Financement As String

Do
Proprio = InputBox("Entrez :" & vbCrLf & "1 si vous êtes Propriétaire" & vbCrLf & "2 si vous êtes Locataire")
If Not (Proprio = 1 Or Proprio = 2) Then MsgBox "Erreur de saisie. Recommencez"
Loop Until Proprio = 1 Or Proprio = 2

Financement = MsgBox("Avez-vous un financement?", vbYesNo)
MsgBox vbYes

MsgBox vbNo

______________________________________________________

3 réponses

  1. C'est bon j'ai ajouté
    ___________________________________
    Financement = MsgBox("Avez-vous un financement?", vbYesNo, "Yadda?")

    If Fianacement = vbYes Then
    MsgBox "Lol"
    Else
    MsgBox "gg"
    End If
    _______________________
    Et ca marche =)

    _Mais que représente le Yadda? :p
    _Et c'est possible que les Yes/no affect de nouvelles variables au lieux d'avoir un MsgBox ? :)

    Merci d'avance
    1. Bonsoir,
      suis pas expert en VBA mais si vous voulez que quelqu'un vous aide il serais bien de mettre votre fichier en ligne sans données confidenciels

      marc
      1. Contributeur
        Bonjour

        comprend pas bien ce que tu veux faire mais...

        If proprio = 1 Then 
             finance = MsgBox("Avez-vous un financement?", vbYesNo) 
             If finance = "" Then Exit Sub 
             If finance = 6 Then 
                  MsgBox vbYes 
             Else 
                  MsgBox vbNo 
             End If 
        End If


        Pourquoi un inputbox au départ puisqu'un msgbox "Etes vous proprio?", vbyesno pourrait faire l'affaire avec sortie de programme si abandon

        au lieu de 1 tu aurais 6 pour proprio et 7 si locataire...

        et tu as la réponse pour la constution de la variable "finance" de type Byte
        Michel
        1. Merci Michel_m pour ta réponse, mais je m'étais trompé ...

          _____________
          Sub Depense()

          Dim Salaire As Integer
          Dim Proprio As Byte
          Dim Financement As String
          Dim Loyer As Integer

          Range("B2").Select

          Salaire = InputBox("Entrez votre salaire mensuel (en €):")
          ActiveCell.Offset(0, 0).Value = Salaire

          Do
          Proprio = InputBox("Entrez :" & vbCrLf & "1 si vous êtes Propriétaire" & vbCrLf & "2 si vous êtes Locataire")
          If Not (Proprio = 1 Or Proprio = 2) Then MsgBox "Erreur de saisie. Recommencez"
          Loop Until Proprio = 1 Or Proprio = 2

          If Proprio = 1 Then
          Financement = MsgBox("Avez-vous un financement?", vbYesNo, "x")
          End If

          If Proprio = 1 Or 2 And Financement = Yes Then
          Loyer = InputBox("Indez votre loyer mensuel (en €)")
          ActiveCell.Offset(1, 0).Value = Loyer
          Else
          ActiveCell.Offset(1, 0).Value = "0"
          End If

          End Sub
          ___________________________________

          Il à juste un problème avec la dernière boucle, en effet,
          _ un locataire= paye un loyer
          _Un propriétaire en financement= paye un loyer
          _Un propriétaire sans financement= ne paye PAS de loyer
          Mais il demande quand même le loyer :s
        2. Contributeur
          Ce que je te dis ou rien, c'est pareil....
          Donc
          Abandon
        3. Je pense que If 1 ou 2 écrase le And...
        4. Mais michael, le problème antérieur n'est plus d'actualité ...
        5. Car bien plus haut je dis qu'il a été résolu ...