• Initiateur de la discussion Initiateur de la discussion stef784
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

stef784

XLDnaute Junior
Bonjour:

on me demande de faire la macro suivante:


Soit x et y le resultat du lancer de deux dés. Tester si x et y sont égaux.

Je fais:

Sub ()
Dim x As Integer
Dim y As Integer
x= Rnd()*6
y=Rnd()*6

Le probleme c'est que le nombre avec, Rnd()*6 varie entre 0 et 6

Or un lancé de dé ne tombe jamais sur 0

comment faire?
 
Re : macro

Re

int=Entier

extrait de l'aide:
Int, Fix, fonctions


Renvoie la partie entière d'un nombre.
Syntaxe
Int(number)
Fix(number)
L'argument number peut contenir une valeur de type Double ou toute autre expression numérique valide. Si l'argument number contient une valeur de type Null, Null est renvoyé.
Remarques
Les fonctions Int et Fix suppriment toutes deux la partie fractionnelle de l'argument number et renvoient l'entier obtenu.
Différence entre les fonctions Int et Fix : si number est négatif, Int renvoie le premier entier négatif inférieur ou égal à number, alors que Fix renvoie le premier entier négatif supérieur ou égal à number. Par exemple, Int convertit -8,4 en -9 et Fix convertit -8,4 en -8.
Fix(number) équivaut à :
Sgn(number) * Int(Abs(number))

Rappel l'aide est accessible par F1 apres avoir mis le curseur sur le mot dont on cherche la signification
 
Re : macro

Oui merci 🙂

Jai un autre probleme

On me dit:


Soit une note donnée, par lutilisateur. Afficher la note modifiée selon les régles suivantes:
-la note est inférieure ou égale à 7, elle reste inchangée.
-la note est comprise entre 8 et 12, elle est augmentée de 2 points
-la note est comprise entre 13 et 17, elle est augmentée de 1 point
-la note est supérieure ou égale a 18, elle reste inchangée.

j'ai fais:

Sub macro()
Dim x As Integer
x = InputBox("Entrez votre note")
If (x <= 7) Then
MsgBox ("votre note est" & x)
If (8 <= x <= 12) Then
MsgBox ("votre note est" & x + 2)
If (13 <= x <= 17) Then
MsgBox ("Votre note est" & x + 1)
If x >= 18 Then
MsgBox ("votre note est" & x)
End If
End Sub


mais on me met "Bloc if sans End if" ??
 
Re : macro

Bonjour

Code:
Sub macro()
Dim x As Integer
x = InputBox("Entrez votre note")
If (x <= 7) Then
MsgBox ("votre note est" & x)
[COLOR=RoyalBlue][B] End if[/B][/COLOR]
If (8 <= x <= 12) Then
MsgBox ("votre note est" & x + 2)
[B][COLOR=RoyalBlue] End if[/COLOR][/B]
If (13 <= x <= 17) Then
MsgBox ("Votre note est" & x + 1)
[COLOR=RoyalBlue][B] End if[/B][/COLOR]
If x >= 18 Then
MsgBox ("votre note est" & x)
End If
End Sub
• Une solution utilisant Select Case
Code:
Sub macro_2()
Dim x As Integer
x = InputBox("Entrez votre note")
Select Case x
[COLOR=SeaGreen]'cas ou la note <=7 et >=18[/COLOR]
Case 0 To 7, 18 To 20
MsgBox x
Case 8 To 12
[COLOR=SeaGreen]'cas où la note va de 8 à 12[/COLOR]
MsgBox x + 2
Case 13 To 17
[COLOR=SeaGreen]'cas où la note va de 13 à 17[/COLOR]
MsgBox x + 1
Case Else
[COLOR=SeaGreen] 'Autre cas message pour indiquer une note non valide[/COLOR]
MsgBox x & " n'est pas une note valable"
End Select
 
Dernière édition:
Re : macro

Re

Salut staple 🙂

2 solutions:

Code:
Sub macro()
Dim x As Integer
x = InputBox("Entrez votre note")
If (x <= 7) Then
MsgBox ("votre note est" & x)
End If
If 8 <= x And x <= 12 Then
MsgBox ("votre note est" & x + 2)
End If
If 13 <= x And x <= 17 Then
MsgBox ("Votre note est" & x + 1)
End If
If x >= 18 Then
MsgBox ("votre note est" & x)
End If
End Sub
Sub macro1()
Dim x As Integer
Dim note As Integer
x = InputBox("Entrez votre note")
Select Case x
Case Is <= 7
 note = x
Case Is <= 12
 note = x + 2
Case Is <= 17
 note = x + 1
Case Is >= 18
note = x
End Select
MsgBox ("votre note = " & note)
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
6
Affichages
562
Réponses
1
Affichages
451
Réponses
0
Affichages
367
Réponses
2
Affichages
409
Réponses
23
Affichages
2 K
Retour