Programmation vba

Résolu
seboui Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   -
bonjour, je dois réaliser du codage vba pour un travail informatique mais je ne sais pas comment définir les variable pour qu'elles soient prisent en compte.

Comment faire pour que mes champs "datefindelocation" et "datedebutdelocation" soit mes valeurs utilisées dans la formule?

Sub ContratDeLocation()
'
' ContratDeLocation Macro
'
' Touche de raccourci du clavier: Ctrl+z
'

Dim DateDebutDeLocation As Date
Dim DateFinDeLocation As Date
DateFinDeLocation = ?
DateDebutDeLocation= ?

ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = InputBox("Entrez la date du début de la location", "Date de début de location")
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = InputBox("Entrez la date de fin de location", "Date de fin de location")

If (DateFinDeLocation - DateDebutDeLocation) <= 1 Then
ActiveCell.Offset(0, 1).Value = "45euro"
ElseIf (DateFinDeLocation - DateDebutDeLocation) >= 2 And (DateFinDeLocation - DateDebutDeLocation) <= 3 Then
ActiveCell.Offset(0, 1).Value = "40euro par jour"
ElseIf (DateFinDeLocation - DateDebutDeLocation) >= 4 And (DateFinDeLocation - DateDebutDeLocation) <= 6 Then
ActiveCell.Offset(0, 1).Value = "35euro par jour"
Else: ActiveCell.Offset(0, 1).Value = "25euro par jour"
End If
End Sub

1 réponse

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
coucou,

rempalce ton code par celui-ci :

Sub ContratDeLocation()
'
' ContratDeLocation Macro
'
' Touche de raccourci du clavier: Ctrl+z
'

Dim DateDebutDeLocation As Date
Dim DateFinDeLocation As Date


ActiveCell.Offset(0, 1).Select
DateDebutDeLocation = InputBox("Entrez la date du début de la location (sous le format jj/mm/aaaa)", "Date de début de location")
Do While Not IsDate(DateDebutDeLocation)
a = MsgBox("La valeur renseignée n'est pas une date !", vbOKOnly, "Erreur de saisie")
DateDebutDeLocation = InputBox("Entrez la date du début de la location", "Date de début de location")
Loop
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = DateDebutDeLocation
ActiveCell.Offset(0, 1).Select
DateFinDeLocation = InputBox("Entrez la date de fin de location (sous le format jj/mm/aaaa)", "Date de fin de location")
Do While Not IsDate(DateFinDeLocation)
a = MsgBox("La valeur renseignée n'est pas une date !", vbOKOnly, "Erreur de saisie")
DateFinDeLocation = InputBox("Entrez la date de fin de location", "Date de début de location")
Loop

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = DateFinDeLocation

If (DateFinDeLocation - DateDebutDeLocation) <= 1 Then
ActiveCell.Offset(0, 1).Value = "45euro"
ElseIf (DateFinDeLocation - DateDebutDeLocation) >= 2 And (DateFinDeLocation - DateDebutDeLocation) <= 3 Then
ActiveCell.Offset(0, 1).Value = "40euro par jour"
ElseIf (DateFinDeLocation - DateDebutDeLocation) >= 4 And (DateFinDeLocation - DateDebutDeLocation) <= 6 Then
ActiveCell.Offset(0, 1).Value = "35euro par jour"
Else: ActiveCell.Offset(0, 1).Value = "25euro par jour"
End If
End Sub
1
seboui
 
merci beaucoup mélanie :)
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
mets le en resolu si c'est bon stp
0