VAB
Résolu
gregg1712
Messages postés
59
Statut
Membre
-
gregg1712 Messages postés 59 Statut Membre -
gregg1712 Messages postés 59 Statut Membre -
Bonjour,
Voici le code :
_________________________
Dim Salaire As Integer
Dim Proprio As Byte
Dim Financement As String
Dim Charge As String
Dim Charge2 As String
Dim Loyer As Integer
Dim A As String
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, "")
End If
If Proprio = 2 Then
Charge = MsgBox("Les charges sont comprise dans le loyer?", vbYesNo, "")
End If
If Charge = vbNo Then
Charge2 = InputBox("Quel est le montant des charges (en €)?")
ActiveCell.Offset(3, 0).Value = Charge2
End If
If Proprio = 1 Or 2 Then
A = Proprio
End If
If Proprio = A And Financement = vbYes Then
Loyer = InputBox("Indiquez votre loyer mensuel (en €)")
ActiveCell.Offset(2, 0).Value = Loyer
Else
ActiveCell.Offset(2, 0).Value = "0"
End If
__________________________
Il y a un truc qui ne fonctionne pas:
a la fin: Je voudrais demander le Loyer:
_Au propriétaire en finanacement
_PAS Au propriétaire sans financement
_Au Locaraire avec ou sans charge
(Docn tout le monde sauf les proprio sans financement)
Le but est de connaitre le salaire, leur loyer (pas de loyer pour les Propio sans financement)... (et de savoir si Locataire compte les charges dans leur loyer ou pas)
.... Aidez moi ...plz
Voici le code :
_________________________
Dim Salaire As Integer
Dim Proprio As Byte
Dim Financement As String
Dim Charge As String
Dim Charge2 As String
Dim Loyer As Integer
Dim A As String
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, "")
End If
If Proprio = 2 Then
Charge = MsgBox("Les charges sont comprise dans le loyer?", vbYesNo, "")
End If
If Charge = vbNo Then
Charge2 = InputBox("Quel est le montant des charges (en €)?")
ActiveCell.Offset(3, 0).Value = Charge2
End If
If Proprio = 1 Or 2 Then
A = Proprio
End If
If Proprio = A And Financement = vbYes Then
Loyer = InputBox("Indiquez votre loyer mensuel (en €)")
ActiveCell.Offset(2, 0).Value = Loyer
Else
ActiveCell.Offset(2, 0).Value = "0"
End If
__________________________
Il y a un truc qui ne fonctionne pas:
a la fin: Je voudrais demander le Loyer:
_Au propriétaire en finanacement
_PAS Au propriétaire sans financement
_Au Locaraire avec ou sans charge
(Docn tout le monde sauf les proprio sans financement)
Le but est de connaitre le salaire, leur loyer (pas de loyer pour les Propio sans financement)... (et de savoir si Locataire compte les charges dans leur loyer ou pas)
.... Aidez moi ...plz
3 réponses
Bonjour,
1°) ActiveCell.Offset(0, 0).Value = Salaire ?
ActiveCell.Value = Salaire -> Suffit
2°) il faux mettre la variable à chaque fois.
If Proprio = 1 Or Proprio = 2 Then
3°) Pourquoi faire un test qui ne sert à rien puisque Proprio sera toujours soit à 1 soit à 2
4°) Tu essaye d'entrer une variable Byte dans une variable string.
Donc, oublie le test de Proprio et écrire.
A = Cstr(Proprio)
Mais tout ça n'est pas nécessaire.
Tu supprime tes lignes en gras et remplace par...
A+
1°) ActiveCell.Offset(0, 0).Value = Salaire ?
ActiveCell.Value = Salaire -> Suffit
2°) il faux mettre la variable à chaque fois.
If Proprio = 1 Or Proprio = 2 Then
3°) Pourquoi faire un test qui ne sert à rien puisque Proprio sera toujours soit à 1 soit à 2
4°) Tu essaye d'entrer une variable Byte dans une variable string.
Donc, oublie le test de Proprio et écrire.
A = Cstr(Proprio)
Mais tout ça n'est pas nécessaire.
Tu supprime tes lignes en gras et remplace par...
If Financement = vbYes Then
Loyer = InputBox("Indiquez votre loyer mensuel (en €)")
Else
Loyer = 0
End If
ActiveCell.Offset(2, 0).Value = Loyer
A+
Déclare Financement en integer ou Byte et la condition fonctionnera.
ou bien tu met..
If Financement = "6" Or Proprio = 2 Then
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
ou bien tu met..
If Financement = "6" Or Proprio = 2 Then
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Essaye avec..
Les variables "Single" permettent les décimales comme par exemple 202.45 euros
A+
Edit :
Mais ça ne serait pas plus "Pro" avec un userForm ?
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Dim Proprio As Byte
Dim Financement As Integer
Dim Charge As Single
Dim Charge2 As Single
Dim Loyer As Single
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, "")
Else
Charge = MsgBox("Les charges sont comprise dans le loyer?", vbYesNo, "")
End If
If Charge = vbNo Then
Charge2 = InputBox("Quel est le montant des charges (en €)?")
End If
ActiveCell.Offset(3, 0).Value = Charge2
If Financement = vbYes Or Proprio = 2 Then
Loyer = InputBox("Indiquez votre loyer mensuel (en €)")
Else
Loyer = 0
End If
ActiveCell.Offset(2, 0).Value = Loyer
Les variables "Single" permettent les décimales comme par exemple 202.45 euros
A+
Edit :
Mais ça ne serait pas plus "Pro" avec un userForm ?
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Cela ne fonctionne pas car , il ne demande pas le Loyer:
________________________
Sub Depense()
Dim Salaire As Integer
Dim Proprio As Byte
Dim Financement As String
Dim Charge As String
Dim Charge2 As String
Dim Loyer As Integer
Dim A As String
Range("B2").Select
Salaire = InputBox("Entrez votre salaire mensuel (en €):")
ActiveCell.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, "")
End If
If Proprio = 2 Then
Charge = MsgBox("Les charges sont comprise dans le loyer?", vbYesNo, "")
End If
If Charge = vbNo Then
Charge2 = InputBox("Quel est le montant des charges (en €)?")
End If
ActiveCell.Offset(3, 0).Value = Charge2
If Financement = vbYes Then
Loyer = InputBox("Indiquez votre loyer mensuel (en €)")
Else
Loyer = 0
End If
ActiveCell.Offset(2, 0).Value = Loyer
End Sub
____________________________________
Et je pense que ca demanderais qu'au proprio avec financement pas comme je voudrais:
_Au propriétaire en finanacement
_PAS Au propriétaire sans financement
_Au Locaraire avec ou sans charge
Je voyais un truc du grene: Si propriétaire avec financement OU locataire alors demandé le loyer sinon rien.
(Docn tout le monde sauf les proprio sans financement)
A part le loyer, tout marche
If Financement = vbYes Or Proprio = 2 Then ...
Il me revois une Erreur d'exécution 13, incompatibilité de type