Macro qui ne s'éxécute pas

Fermé
Cass - Modifié par NHenry le 22/11/2015 à 16:30
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 - 22 nov. 2015 à 18:51
Bonjour,
J'ai réalisé une procédure mais elle ne s'exécute pas . a chaque fois que j'essaies de l'éxécute ça m'affiche " bloc if sans end if .

Sub TableauMaxMin()
Dim T() As Integer
Dim Max As Integer
Dim Min As Integer
Dim i As Byte
Dim n As Byte

n = CInt(InputBox("donner la valeur de n ", " question", "5"))
ordre = CInt(InputBox("donner la valeur maximale ", " question", "100"))
ReDim T(1 To n) As Integer

Max = 0
Min = 32767

For i = 1 To n
    T(i) = Int(ordre * Rnd)
  Selection.Offset(0, 1).Value = T(i)
        
        If T(i) > Max Then
            Max = T(i)
        If T(i) < Min Then
            Min = T(i)
        End If
Call MsgBox(" la valeur maximum est " & Max, " la valeur minimum est " & Min)
        
End Sub


Si quelqu'un peu m'aider se sera gentil .




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 332
22 nov. 2015 à 16:30
Si tu veux tester plusieurs cas pour gérer différemment tes IF, il y a IF ... ELSEIF ... ELSE ... END IF
0
Merci NHenry , le probleme avec les If est regle , mais mon programme ne fonctionne pas, pouvez m'aider a trouver où les erreurs se trouvent .




Sub TableauMaxMin()
Dim T() As Integer
Dim Max As Integer
Dim Min As Integer
Dim i As Byte
Dim n As Byte

n = CInt(InputBox("donner la valeur de n ", " question", "5"))
ordre = CInt(InputBox("donner la valeur maximale ", " question", "100"))
ReDim T(1 To n) As Integer

Max = 0
Min = 32767

For i = 1 To n
    T(i) = Int(ordre * Rnd)
    'Rnd permet d'obtenir un valeur aléatoire en 0 et 1
    Selection.Offset(0, 1).Value = T(i)
        
        If T(i) > Max Then
            Max = T(i)
        ElseIf T(i) < Min Then
            Min = T(i)
        End If
Next

Call MsgBox(" la valeur maximum est " & Max, " la valeur minimum est " & Min)
        
End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0
Le problème avec les if est réglé , si quelqu'un pouvait m'aider a trouver l'erreur se serait gentille




Sub TableauMaxMin()
Dim T() As Integer
Dim Max As Integer
Dim Min As Integer
Dim i As Byte
Dim n As Byte

n = CInt(InputBox("donner la valeur de n ", " question", "5"))
ordre = CInt(InputBox("donner la valeur maximale ", " question", "100"))
ReDim T(1 To n) As Integer

Max = 0
Min = 32767

For i = 1 To n
    T(i) = Int(ordre * Rnd)
    'Rnd permet d'obtenir un valeur aléatoire en 0 et 1
    Selection.Offset(0, 1).Value = T(i)
        
        If T(i) > Max Then
            Max = T(i)
        ElseIf T(i) < Min Then
            Min = T(i)
        End If
Next

Call MsgBox(" la valeur maximum est " & Max, " la valeur minimum est " & Min)
        
End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0
NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 332
22 nov. 2015 à 16:57
"mon programme ne fonctionne pas"
En français dans le détail ça donne quoi ?

Et merci de penser à la balise de code.
0
Lol , ce n'est pas grave , j'essaierais de résoudre le problème . Bonne journée !
0
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705 > Cass
22 nov. 2015 à 18:51
Bonjour,

Call MsgBox(" la valeur maximum est " & Max & ",  la valeur minimum est " & Min)
0