Recherche bon détecteur d'erreurs

Le
garnote
Bonjour les aminches ou les Amish s'il y en a,

Comme je veux souvent obtenir des nombres entiers relatifs
au hasard entre deux bornes, j'ai concocté cette macro que
j'ai associée à un bouton de la barre d'outils Accès rapide 2007 :

Sub Hasard_Entiers_Relatifs_Entre_n1_Et_n2()
Dim n As String
Dim sépare() As String
Dim cellule As Range
n = Application.InputBox _
(Prompt:=" Entrez deux nombres entiers relatifs séparés par une
virgule.", _
Title:=" Nombres entiers relatifs au hasard entre deux bornes",
Type:=2)
sépare = Split(n, ",")
n1 = Application.Min(sépare(0), sépare(1))
n2 = Application.Max(sépare(0), sépare(1))
Randomize
For Each cellule In Selection
cellule.Value = Int((n2 - n1 + 1) * Rnd + n1)
Next cellule
End Sub

Tant que c'est moi qui l'utilise, je ne commets jamais d'erreurs ;-)
mais si ça tombe entre les mains de quelqu'un d'autre; allez savoir,
il peut entrer des folies.
Alors, comment prévoir d'éventuelles erreurs dans l'entrée des bornes ?

Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19981361
Et ceci :

'--------------------------------------------
Sub Hasard_Entiers_Relatifs_Entre_n1_Et_n2()
Dim n As String
Dim sépare() As String
Dim cellule As Range
Dim Message As String
Message = "tu comprends rien"
n = Application.InputBox _
(Prompt:=" Entrez deux nombres entiers relatifs séparés par une virgule.", _
Title:=" Nombres entiers relatifs au hasard entre deux bornes", Type:=2)
If Format(n) = False Then Exit Sub
sépare = Split(n, ",")
If UBound(sépare) = 0 Then
MsgBox Message
ElseIf IsNumeric(Trim(sépare(0))) And IsNumeric(Trim(sépare(1))) Then
n1 = Application.Min(CLng(sépare(0)), CLng(sépare(1)))
n2 = Application.Max(CLng(sépare(0)), CLng(sépare(1)))
Randomize
For Each cellule In Selection
cellule.Value = Int((n2 - n1 + 1) * Rnd + n1)
Next cellule
Else
MsgBox Message
End If
End Sub
'--------------------------------------------



"garnote"
Bonjour les aminches ou les Amish s'il y en a,

Comme je veux souvent obtenir des nombres entiers relatifs
au hasard entre deux bornes, j'ai concocté cette macro que
j'ai associée à un bouton de la barre d'outils Accès rapide 2007 :

Sub Hasard_Entiers_Relatifs_Entre_n1_Et_n2()
Dim n As String
Dim sépare() As String
Dim cellule As Range
n = Application.InputBox _
(Prompt:=" Entrez deux nombres entiers relatifs séparés par une
virgule.", _
Title:=" Nombres entiers relatifs au hasard entre deux bornes",
Type:=2)
sépare = Split(n, ",")
n1 = Application.Min(sépare(0), sépare(1))
n2 = Application.Max(sépare(0), sépare(1))
Randomize
For Each cellule In Selection
cellule.Value = Int((n2 - n1 + 1) * Rnd + n1)
Next cellule
End Sub

Tant que c'est moi qui l'utilise, je ne commets jamais d'erreurs ;-)
mais si ça tombe entre les mains de quelqu'un d'autre; allez savoir,
il peut entrer des folies.
Alors, comment prévoir d'éventuelles erreurs dans l'entrée des bornes ?

Serge
garnote
Le #19981591
;-) et merci.

Public Function moé()

x = Int((28638699.7171204 / Application.Pi()) ^ 2) + 1

For i = 1 To 4

y = y & Chr(Mid(x, 3 * i, 3))

Next i

moé = Chr(Left(x, 2)) & y

End Function


"MichDenis"
Et ceci :

'--------------------------------------------
Sub Hasard_Entiers_Relatifs_Entre_n1_Et_n2()
Dim n As String
Dim sépare() As String
Dim cellule As Range
Dim Message As String
Message = "tu comprends rien"
n = Application.InputBox _
(Prompt:=" Entrez deux nombres entiers relatifs séparés par une
virgule.", _
Title:=" Nombres entiers relatifs au hasard entre deux bornes",
Type:=2)
If Format(n) = False Then Exit Sub
sépare = Split(n, ",")
If UBound(sépare) = 0 Then
MsgBox Message
ElseIf IsNumeric(Trim(sépare(0))) And IsNumeric(Trim(sépare(1))) Then
n1 = Application.Min(CLng(sépare(0)), CLng(sépare(1)))
n2 = Application.Max(CLng(sépare(0)), CLng(sépare(1)))
Randomize
For Each cellule In Selection
cellule.Value = Int((n2 - n1 + 1) * Rnd + n1)
Next cellule
Else
MsgBox Message
End If
End Sub
'--------------------------------------------



"garnote" discussion :

Bonjour les aminches ou les Amish s'il y en a,

Comme je veux souvent obtenir des nombres entiers relatifs
au hasard entre deux bornes, j'ai concocté cette macro que
j'ai associée à un bouton de la barre d'outils Accès rapide 2007 :

Sub Hasard_Entiers_Relatifs_Entre_n1_Et_n2()
Dim n As String
Dim sépare() As String
Dim cellule As Range
n = Application.InputBox _
(Prompt:=" Entrez deux nombres entiers relatifs séparés par une
virgule.", _
Title:=" Nombres entiers relatifs au hasard entre deux bornes",
Type:=2)
sépare = Split(n, ",")
n1 = Application.Min(sépare(0), sépare(1))
n2 = Application.Max(sépare(0), sépare(1))
Randomize
For Each cellule In Selection
cellule.Value = Int((n2 - n1 + 1) * Rnd + n1)
Next cellule
End Sub

Tant que c'est moi qui l'utilise, je ne commets jamais d'erreurs ;-)
mais si ça tombe entre les mains de quelqu'un d'autre; allez savoir,
il peut entrer des folies.
Alors, comment prévoir d'éventuelles erreurs dans l'entrée des bornes ?

Serge



Publicité
Poster une réponse
Anonyme