Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

On ne rigole pas c'est ma 1er fois

17 réponses
Avatar
thiery
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery

10 réponses

1 2
Avatar
Pascal ETIENNE
t'inquiete pas, 45 ans, c'est le bon age.
Il faut utiliser le test
if x="" then msgbox "vous n'aves pas ecrit de chiffre!"
A+, pascal


"thiery" a écrit dans le message de
news:43e8f141$0$19685$
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery



Avatar
Hervé
Salut Thiery,
Ici personne de rigole d'un débutant quel que soit son age. Nous l'avons
tous été et pas forcément à 18 ans.
Il te faut mettre en place un gestionnaire d'erreur qui peut être très
simple (voir le code) ou plus complexe, selon le résultat voulu.

Sub test()
Dim x As Double

On Error Resume Next
x = InputBox("tapez un nombre")
If Err.Number <> 0 Then
MsgBox " Hé alors, Thiery a dit un nombre !!! Non mais..."
Exit Sub
End If

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub

Hervé.

"thiery" a écrit dans le message de news:
43e8f141$0$19685$
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery


Avatar
thiery
"Pascal ETIENNE" a écrit dans le message
de news:
t'inquiete pas, 45 ans, c'est le bon age.
Il faut utiliser le test
if x="" then msgbox "vous n'aves pas ecrit de chiffre!"
A+, pascal


arghh merci à toi c'était comme moi "tout bête"
par contre je perds les neurones en courant à cette âge là c'est normal ? à
20 ans je t'aurai fais ça les yeux fermés ; )

--
Amicalement
thiery

Avatar
thiery
"Hervé" a écrit dans le message de news:

Salut Thiery,
Ici personne de rigole d'un débutant quel que soit son age. Nous l'avons
tous été et pas forcément à 18 ans.
Il te faut mettre en place un gestionnaire d'erreur qui peut être très
simple (voir le code) ou plus complexe, selon le résultat voulu.

Sub test()
Dim x As Double

On Error Resume Next
x = InputBox("tapez un nombre")
If Err.Number <> 0 Then
MsgBox " Hé alors, Thiery a dit un nombre !!! Non mais..."
Exit Sub
End If

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub

Hervé.


Oui à la limite ça va me faire prendre de bons réflexes
encore merci
--
Amicalement
thiery

Avatar
thiery
"Pascal ETIENNE" a écrit dans le message
de news:
t'inquiete pas, 45 ans, c'est le bon age.
Il faut utiliser le test
if x="" then msgbox "vous n'aves pas ecrit de chiffre!"
A+, pascal


"thiery" a écrit dans le message de
news:43e8f141$0$19685$
première macro à 45 ans hein !




Dim x As Double
'revu et corrigé par Pascal ETIENNE
x = InputBox("tapez un nombre")

If x = "" Then MsgBox "vous n'avez pas ecrit de chiffre!"

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "

End Sub

ne fonctionne pas dans tous les sens que dois je changer ?
--
Amicalement
thiery


Avatar
michdenis
Bonjour Thierry,

Modifie le type de ta variable :

et utilise : application.inputbox ... cela t'oblige à taper un nombre
sinon tu as un message demandant de recommencer la saisie.
'---------------------------
Sub test()

Dim x As Variant
x = Application.InputBox("tapez un nombre", , , , , , , 1)
If TypeName(x) = "Boolean" Then Exit Sub
If x = 0 Then MsgBox " nombre nul "
If x < 0 Then MsgBox " ceci est un nombre négatif "
If x > 0 Then MsgBox "ceci est un nombre positif "

End Sub
'---------------------------


Salutations!



"thiery" a écrit dans le message de news: 43e8f141$0$19685$
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery
Avatar
thiery
"michdenis" a écrit dans le message de news:
%
Bonjour Thierry,

Modifie le type de ta variable :

et utilise : application.inputbox ... cela t'oblige à taper un nombre
sinon tu as un message demandant de recommencer la saisie.
'---------------------------
Sub test()

Dim x As Variant
x = Application.InputBox("tapez un nombre", , , , , , , 1)
If TypeName(x) = "Boolean" Then Exit Sub
If x = 0 Then MsgBox " nombre nul "
If x < 0 Then MsgBox " ceci est un nombre négatif "
If x > 0 Then MsgBox "ceci est un nombre positif "

End Sub
'---------------------------


je vois qu'il y a beaucoup de choix merci à toi pour cette soluce
--
Amicalement
thiery

Avatar
JB
Bonsoir

x = Application.InputBox("Nombre", Type:=1)

JB
Avatar
Clément Marcotte
Bonjour,

Presque (pas) pour polémiquer, j'ai une (grosse) réserve avec
application.inputbox(). Cela fonctionne bien dans Excel, mais comme cette
formulation est inopérante à l'extérieur d'Excel; cela limite sérieusement
la "portabilité" d'une macro qui l'utilise.

Donc sans Application.inputbox (l'inputbox d'Excel), mais avec l'InputBox de
VBA, et en remplaçant les IF avec Select Case.

Sub test()
Dim x As Variant, yabadabadoo As Boolean
Do
x = InputBox("tapez un nombre")
If IsNumeric(x) Then
Select Case x
Case 0
MsgBox " nombre nul "
Case Is < 0
MsgBox " ceci est un nombre négatif "
Case Else
MsgBox "ceci est un nombre positif "
End Select
yabadabadou = True
Else
yabadabadou = False
End If
Loop Until yabadabadou
End Sub




"thiery" a écrit dans le message de news:
43e8f141$0$19685$
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery


Avatar
michdenis
Bonjour Clément,

| Cela fonctionne bien dans Excel, mais comme cette
| formulation est inopérante à l'extérieur d'Excel

Et si tu précisais ta pensée...


Salutations!


"Clément Marcotte" a écrit dans le message de news:
Bonjour,

Presque (pas) pour polémiquer, j'ai une (grosse) réserve avec
application.inputbox(). Cela fonctionne bien dans Excel, mais comme cette
formulation est inopérante à l'extérieur d'Excel; cela limite sérieusement
la "portabilité" d'une macro qui l'utilise.

Donc sans Application.inputbox (l'inputbox d'Excel), mais avec l'InputBox de
VBA, et en remplaçant les IF avec Select Case.

Sub test()
Dim x As Variant, yabadabadoo As Boolean
Do
x = InputBox("tapez un nombre")
If IsNumeric(x) Then
Select Case x
Case 0
MsgBox " nombre nul "
Case Is < 0
MsgBox " ceci est un nombre négatif "
Case Else
MsgBox "ceci est un nombre positif "
End Select
yabadabadou = True
Else
yabadabadou = False
End If
Loop Until yabadabadou
End Sub




"thiery" a écrit dans le message de news:
43e8f141$0$19685$
première macro à 45 ans hein !

Sub test()
Dim x As Integer
x = InputBox("tapez un nombre")

If x = 0 Then MsgBox " nombre nul "

If x < 0 Then MsgBox " ceci est un nombre négatif "

If x > 0 Then MsgBox "ceci est un nombre positif "
End Sub


tout se passe bien si je rentre un nombre "normal" si je ne rentre rien ça
me met débogage et compagnie
comment evitez cette erreur j'avais pensé à mettre en 1er ligne

If x <> 0 Then MsgBox "vous n'avez pas écrite de chiffres!"
mais ça ne fonctionne pas et pourquoi chef ?

merci d'avance je commence les macros il y a 3 mn

--
Amicalement
thiery


1 2