[Excel - VBA] cellule
Résolu/Fermé
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
-
7 juin 2008 à 11:12
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 7 juin 2008 à 21:46
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 7 juin 2008 à 21:46
A voir également:
- [Excel - VBA] cellule
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Liste déroulante excel - Guide
- Verrouiller cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 710
7 juin 2008 à 12:28
7 juin 2008 à 12:28
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.
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.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
7 juin 2008 à 14:20
7 juin 2008 à 14:20
Bonjour,
Montre la macro que tu a fait, ca aidera...
A+
Montre la macro que tu a fait, ca aidera...
A+
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
7 juin 2008 à 14:25
7 juin 2008 à 14:25
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
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 710
7 juin 2008 à 16:50
7 juin 2008 à 16:50
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.
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.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
7 juin 2008 à 17:36
7 juin 2008 à 17:36
bonjour,
Un peu contredire gbinforme mais aucune des deux n'est valable, remplacer par
A+
Un peu contredire gbinforme mais aucune des deux n'est valable, remplacer par
Public Function aleatoire() Randomize aleatoire = (Int((5 * Rnd) + 1)) End FunctionAvec 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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 710
7 juin 2008 à 17:49
7 juin 2008 à 17:49
bonjour
Il suffit aussi de mettre ceci et de faire F9
Il suffit aussi de mettre ceci et de faire F9
Public Function aleatoire() application.volatile Randomize aleatoire = (Int((5 * Rnd) + 1)) End Function
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
7 juin 2008 à 18:10
7 juin 2008 à 18:10
comme quoi ont apprend tout les jours..
connaissais pas
connaissais pas
application.volatile
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
7 juin 2008 à 18:33
7 juin 2008 à 18:33
Ca sert à quoi aplication.volatile
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
7 juin 2008 à 18:53
7 juin 2008 à 18:53
Quand tu as une tel question... Tu sélectionne le mot et tu tape F1.. Voir l'aide.
Ca sert à réinitialiser la fonction à chaque recalcul de la feuille et F9 oblige le recalcul.
Ca sert à réinitialiser la fonction à chaque recalcul de la feuille et F9 oblige le recalcul.
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
7 juin 2008 à 21:15
7 juin 2008 à 21:15
ok, merci, je vais testé tout ça... ;)
nino11
Messages postés
76
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
27 juin 2008
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
7 juin 2008 à 21:23
7 juin 2008 à 21:23
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
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
7 juin 2008 à 14:08