macro aide

stef784

XLDnaute Junior
Bonjour,

on me demande de construire une macro mais j'ai du mal , voici l'ennoncé:

On s'interesse à la saisie par un utilisateur d'un nombre compris entre 0 et 100. On voudrait prendre en compte le fait que l'utilisateur puisse se tromper.
Ecrire un programme qui demande à un utilisateur de saisir un nombre tant que celui ci n'est pas correct.

Pouvez vous m'aider ? il faut utiliser les boucles?
 

Dull

XLDnaute Barbatruc
Re : macro aide

Salut stef784, Skoobi :), le Forum

un autre exemple en prenant l'aide Touche F1 sur les inputboxes

Ne jamais négliger la touche F1 :D

EDITION: Salut Sptinolan:)

Bonne Journée
 

Pièces jointes

  • stef.zip
    8.8 KB · Affichages: 28
  • stef.zip
    8.8 KB · Affichages: 27
  • stef.zip
    8.8 KB · Affichages: 30
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : macro aide

Re,
Salut Dull:), très rare de te croiser!

Sans réponse une option via Userform avec une adaptation de la célèbre formule du docteur Pierrot...
qui évite les saisies négatives, de lettres et supérieures à 100

Cordialement
 

Pièces jointes

  • SaisieLimitée.zip
    10.8 KB · Affichages: 26

skoobi

XLDnaute Barbatruc
Re : macro aide

Re,
salut Spit, :)
salut Dull, :)

une petite variante du code de Pierrot:
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not Chr(KeyAscii) Like "[0-9]" Then KeyAscii = 0
End Sub
Bonne après-midi à vous.
 

Spitnolan08

XLDnaute Barbatruc
Re : macro aide

Re,

Pas mal Skoobi:). Je devrais même dire très bien... En tout cas ça me plait!
Cependant, je préfère la formulation de Pierrot93 qui est beaucoup plus puissante et peut être transposée à énormément de situations dans des contextes très différents.

Bien cordialement
 

stef784

XLDnaute Junior
Re : macro aide

par contre j'ai fais:

Sub macro()
Dim x As Integer
Do
x = InputBox(" saisir un nombre ")
If x > 100 Then
MsgBox (" le nombre doit etre compris entre 0 et 100 ")
Loop While x > 100
End If
End Sub

mais ils me disent boucle sans do ?
 

Pierrot93

XLDnaute Barbatruc
Re : macro aide

Bonjour Stef, Spitnolan:), Skoobi:)

une autre solutaion, en utilisant la METHODE "inputbox" plutôt que la fonction , enfin si j'ai bien compris :

Code:
Sub test()
Dim x As Variant
Do
    x = Application.InputBox("Nombre entre 0 et 100 ?", , , , , , , 1)
Loop While (x >= 100 Or x <= 0)
End Sub

bon après midi
@+
 

mutzik

XLDnaute Barbatruc
Re : macro aide

bonjour,

ton loop doit être en dehors de ta boucle if

mais bon, la résolution de ton prob serait beaucoup plus simple en utilisant la validation de donnée sur une cellule, !!!! sans aucun VBA à programmer !!!!
 

Discussions similaires

Réponses
20
Affichages
363

Statistiques des forums

Discussions
312 836
Messages
2 092 648
Membres
105 478
dernier inscrit
tim51