VBA fonction Yes/No

Résolu/Fermé
gregg1712 Messages postés 59 Statut Membre -  
gregg1712 Messages postés 59 Statut Membre -
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. gregg1712 Messages postés 59 Statut Membre 2
     
    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
    0
  2. marc07 Messages postés 630 Statut Membre 194
     
    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
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
    1. gregg1712 Messages postés 59 Statut Membre 2
       
      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
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Ce que je te dis ou rien, c'est pareil....
      Donc
      Abandon
      0
    3. gregg1712 Messages postés 59 Statut Membre 2
       
      Je pense que If 1 ou 2 écrase le And...
      0
    4. gregg1712 Messages postés 59 Statut Membre 2
       
      Mais michael, le problème antérieur n'est plus d'actualité ...
      0
    5. gregg1712 Messages postés 59 Statut Membre 2
       
      Car bien plus haut je dis qu'il a été résolu ...
      0