[Excel - VBA] cellule
Résolu
nino11
Messages postés
76
Statut
Membre
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
J'ai créer un fonction qui affecte une valeur aléatoire à une cellule... Cependant, pour que cette fonction fonctionne, il faut passer OBLIGATOIREMENT en paramètres une cellule de la feuille Excel... Mais je n'arrive pas à la passé, on me retourne un message d'erreur... INCOMPATIBILITÉ DE TYPE
J'ai créer un fonction qui affecte une valeur aléatoire à une cellule... Cependant, pour que cette fonction fonctionne, il faut passer OBLIGATOIREMENT en paramètres une cellule de la feuille Excel... Mais je n'arrive pas à la passé, on me retourne un message d'erreur... INCOMPATIBILITÉ DE TYPE
Configuration: Windows XP Firefox 2.0.0.14
5 réponses
-
bonjour
Il faut que tes données aient le même type car si tu veux faire du calcul avec du texte c'est une incompatibilité de type. -
Bonjour,
Montre la macro que tu a fait, ca aidera...
A+-
Public Sub aleatoire(cell as !!C'est la que le type convient pas!!)
Randomize
cell = (Int((5 * Rnd) + 1))
End Sub
___________________________________________________
Sinon, j'ai essayé un truc comme ça
___________________________________________________
Public Sub aleatoire()
Randomize
aleatoire = (Int((5 * Rnd) + 1))
End Sub
-
-
bonjour
Ta deuxième formule est la bonne car une fonction met son résultat dans la cellule qui l'appelle.
Une procédure "sub" peut agir sur une autre cellule mais on ne peut pas l'utiliser comme fonction. -
bonjour,
Un peu contredire gbinforme mais aucune des deux n'est valable, remplacer parPublic Function aleatoire() Randomize aleatoire = (Int((5 * Rnd) + 1)) End Function
Avec ca tu va l'avoir dans la cellule d'appel, pour réinitialiser, sélectionner la cellule, mettre le curseur sur la barre d'édition (au bout) et taper Enter
A+ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bonjour
Il suffit aussi de mettre ceci et de faire F9Public Function aleatoire() application.volatile Randomize aleatoire = (Int((5 * Rnd) + 1)) End Function
-
-
-
-
-
Euh, ce que tu m'as filé marche, mais j'ai une autre procédure qui marche pas...
Public Sub Tirs_aux_buts(cell1 As Range, cell2 As Range)
Randomize
For i = 1 To 5
If (Int((1 * Rnd) + 0)) = 1 Then
cell1 = cell1 + 1
End If
If (Int((1 * Rnd) + 0)) = 1 Then
cell2 = cell2 + 1
End If
Loop
While cell1 = cell2
If (Int((1 * Rnd) + 0)) = 1 Then
cell1 = cell1 + 1
End If
If (Int((1 * Rnd) + 0)) = 1 Then
cell2 = cell2 + 1
End If
Wend
End Sub
-