2 réponses
yg_be
Messages postés
23327
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 novembre 2024
Ambassadeur
1 551
12 août 2018 à 21:50
12 août 2018 à 21:50
bonjour, peux-tu partager ton programme avec un if qui bloque?
toto = InputBox("date")
tata = InputBox("intitulé")
titi = InputBox("CQ ou CB")
tutu = InputBox("débit")
momo = InputBox("crédit")
valeurdate = Application.WorksheetFunction.CountA(Range("a:a"))
'range (r[+1]c)).select
'range("a2").Select
Range("a" & 1 + valeurdate).Select
Selection = toto
If Not IsDate(toto) Then
MsgBox ("veuillez saisir une date")
End If
Range("b" & 1 + valeurdate).Select
Selection = tata
Range("c" & 1 + valeurdate).Select
Selection = titi
selelection = UCase(titi)
'majuscule
'Range("c" & 1 + valeurcqcb).Select
'Selection.Value = UCase(titi)
Range("d" & 1 + valeurdate).Select
Selection = -tutu
Range("d" & 1 + valeurdate).Select
Selection.Font.Color = RGB(248, 16, 16)
If Not IsNumeric(tutu) Then
MsgBox ("vous devez saisir un nombre")
End If
Range("e" & 1 + valeurdate).Select
Selection = momo
Selection.Font.Color = RGB(8, 148, 47)
If Not IsNumeric(momo) Then
MsgBox ("vous devez saisir un nombre")
End If
tata = InputBox("intitulé")
titi = InputBox("CQ ou CB")
tutu = InputBox("débit")
momo = InputBox("crédit")
valeurdate = Application.WorksheetFunction.CountA(Range("a:a"))
'range (r[+1]c)).select
'range("a2").Select
Range("a" & 1 + valeurdate).Select
Selection = toto
If Not IsDate(toto) Then
MsgBox ("veuillez saisir une date")
End If
Range("b" & 1 + valeurdate).Select
Selection = tata
Range("c" & 1 + valeurdate).Select
Selection = titi
selelection = UCase(titi)
'majuscule
'Range("c" & 1 + valeurcqcb).Select
'Selection.Value = UCase(titi)
Range("d" & 1 + valeurdate).Select
Selection = -tutu
Range("d" & 1 + valeurdate).Select
Selection.Font.Color = RGB(248, 16, 16)
If Not IsNumeric(tutu) Then
MsgBox ("vous devez saisir un nombre")
End If
Range("e" & 1 + valeurdate).Select
Selection = momo
Selection.Font.Color = RGB(8, 148, 47)
If Not IsNumeric(momo) Then
MsgBox ("vous devez saisir un nombre")
End If
yg_be
Messages postés
23327
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 novembre 2024
1 551
13 août 2018 à 21:09
13 août 2018 à 21:09
deux choses à faire, avant tout:
1) ajouter "option explicit" en début de module
2) utiliser des noms compréhensibles pour les variables, des noms qui aident à comprendre à quoi servent ces variables.
ensuite, quand tu auras corrigé cela, poste à nouveau ton code, en expliquant quel "if" bloque.
1) ajouter "option explicit" en début de module
2) utiliser des noms compréhensibles pour les variables, des noms qui aident à comprendre à quoi servent ces variables.
ensuite, quand tu auras corrigé cela, poste à nouveau ton code, en expliquant quel "if" bloque.
Option Explicit
Sub entree()
Dim jour As Date
Dim intitulé As String
Dim moyen_paiement As String
Dim dépense As Currency
Dim versement As Currency
Dim valeurdate As Double
jour = InputBox("date")
intitulé = InputBox("intitulé")
moyen_paiement = InputBox("CQ ou CB")
dépense = InputBox("débit")
versement = InputBox("crédit")
valeurdate = Application.WorksheetFunction.CountA(Range("a:a"))
'range (r[+1]c)).select
'range("a2").Select
Range("a" & 1 + valeurdate).Select
Selection = jour
If Not IsDate(jour) Then
MsgBox ("veuillez saisir une date")
End If
Range("b" & 1 + valeurdate).Select
Selection = intitulé
Range("c" & 1 + valeurdate).Select
UCase (moyen_paiement)
'majuscule
'Range("c" & 1 + valeurcqcb).Select
'Selection.Value = UCase(titi)
Range("d" & 1 + valeurdate).Select
Selection = -dépense
Range("d" & 1 + valeurdate).Select
Selection.Font.Color = RGB(248, 16, 16)
If Not IsNumeric(dépense) Then
MsgBox ("vous devez saisir un nombre")
End If
Range("e" & 1 + valeurdate).Select
Selection = versement
Selection.Font.Color = RGB(8, 148, 47)
If Not IsNumeric(versement) Then
MsgBox ("vous devez saisir un nombre")
End If
en fait, par exemple, si je prends l'inputbox date, je peux entrer n'importe quoi. vba continue son déroulement d'inputbox et après le dernier, il fait mon message d'erreur sue la date. Moi j'aimerais que le message apparaisse juste après l'erreur de date dans l'inputbox. Pas sure d'être très claire...
Sub entree()
Dim jour As Date
Dim intitulé As String
Dim moyen_paiement As String
Dim dépense As Currency
Dim versement As Currency
Dim valeurdate As Double
jour = InputBox("date")
intitulé = InputBox("intitulé")
moyen_paiement = InputBox("CQ ou CB")
dépense = InputBox("débit")
versement = InputBox("crédit")
valeurdate = Application.WorksheetFunction.CountA(Range("a:a"))
'range (r[+1]c)).select
'range("a2").Select
Range("a" & 1 + valeurdate).Select
Selection = jour
If Not IsDate(jour) Then
MsgBox ("veuillez saisir une date")
End If
Range("b" & 1 + valeurdate).Select
Selection = intitulé
Range("c" & 1 + valeurdate).Select
UCase (moyen_paiement)
'majuscule
'Range("c" & 1 + valeurcqcb).Select
'Selection.Value = UCase(titi)
Range("d" & 1 + valeurdate).Select
Selection = -dépense
Range("d" & 1 + valeurdate).Select
Selection.Font.Color = RGB(248, 16, 16)
If Not IsNumeric(dépense) Then
MsgBox ("vous devez saisir un nombre")
End If
Range("e" & 1 + valeurdate).Select
Selection = versement
Selection.Font.Color = RGB(8, 148, 47)
If Not IsNumeric(versement) Then
MsgBox ("vous devez saisir un nombre")
End If
en fait, par exemple, si je prends l'inputbox date, je peux entrer n'importe quoi. vba continue son déroulement d'inputbox et après le dernier, il fait mon message d'erreur sue la date. Moi j'aimerais que le message apparaisse juste après l'erreur de date dans l'inputbox. Pas sure d'être très claire...
yg_be
Messages postés
23327
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 novembre 2024
1 551
>
milawlolan
14 août 2018 à 08:58
14 août 2018 à 08:58
ainsi?
jour = InputBox("date") If Not IsDate(jour) Then MsgBox ("veuillez saisir une date") End If
yg_be
Messages postés
23327
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 novembre 2024
1 551
>
milawlolan
14 août 2018 à 09:00
14 août 2018 à 09:00
je suggère d’arrêter d'utiliser Select. exemple:
Range("a" & 1 + valeurdate) = jour