Excel " Langage VBA "

Résolu/Fermé
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - Modifié par kikou93 le 16/12/2015 à 23:00
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 17 déc. 2015 à 20:18
Bonjour ou Bonsoir,

Je suis nouveau dans le langage VBA de excel.

J'ai Crée un macro qui demande de tapez une valeur inferieur a 16 (photo 1)

, si je tape la valeur 16 ou plus il me montre la boîte dialogue suivante (photo 2).

Mon problème et le suivant :

Je veux quand je clique sur Recommencer il me remonte la premier boîte dialogue (photo 1) jusqu'à que je tape une valeur inférieur à 16.

Quand je clique sur "Annuler" la boîte dialogue disparaît simplement.

Voici le macro que j'ai écrit :
-------------------------------------------------------------------------------------------
Sub Tapez()
Dim resultat As Byte

resultat = InputBox("Le nombre maximum de Travée est de 15", "Nombres de Travées", "Taper ici le Nombres de Travées")
If resultat < "16" Then
Range("B2") = resultat
ElseIf MsgBox("Faux", vbRetryCancel + vbDefaultButton1, "Erreur") = bRetry Then
End If
End Sub
-------------------------------------------------------------------------------------------
je ne sais pas si mes explications sont bonnes mais veuillez m'aider s'il vous plaît merci d'avance.
A voir également:

1 réponse

m@rina Messages postés 20074 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 271
16 déc. 2015 à 23:40
Bonsoir,

Essaie ça :

Dim Reponse
Do
Reponse = InputBox("Le nombre maximum de Travée est de 15", "Nombres de Travées", "Taper ici le Nombres de Travées")
If Reponse = "" Then Exit Sub
If Reponse > 16 Then
Reponse = InputBox("Mauvaise réponse, Le nombre maximum est 15, essayez encore")
If Reponse = "" Then Exit Sub
End If

[A1] = Reponse
Loop Until Reponse < 16


m@rina
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
17 déc. 2015 à 09:46
Bonjour,
Merci beaucoup pour votre réponse
Votre réponse est-il utile mais elle n'a pas marché comme je le voulais.
J'ai créé ce macro maman normalement il est juste, car tant que je ne tape pas une valeurs inférieur à 15 il répète en boucle les 2 boîtes de dialogues.
Le macro :

Sub Tapez()
Dim resultat As Byte

resultat = InputBox("Le nombre maximum de Travée est de 15", "Nombres de Travées", "Taper ici le Nombres de Travées")
If resultat < 16 Then
Range("B2") = resultat
End If
While resultat > 15
resultat = MsgBox("Faux", vbRetryCancel + vbCritical + vbDefaultButton1, "Erreur") = bRetry
resultat = InputBox("Le nombre maximum de Travée est de 15", "Nombres de Travées", "Taper ici le Nombres de Travées")
Wend
Range("B2") = resultat
End Sub

Remarque :
Sans vouloir te déranger tu n'as pas un site ou un livre qui apprend la programmation des macros .

merci encore pour votre réponse
0
m@rina Messages postés 20074 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 271
17 déc. 2015 à 13:45
La macro que j'ai écrite fonctionne très bien. Qu'est-ce qui ne marche pas ?
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
17 déc. 2015 à 20:18
La boîte de dialogue qui affiche une erreur s'affiche qu'une seule fois si je tape encore une fois une valeur superieur à 15 elle se ne réaffiche pas.
0