Comment lancer les dés sur Excel ?

Dans ce tutoriel, je vais vous montrer comment lancer des dés sur Excel. Pour cela nous allons développer une petite macro-commande en VBA, que nous viendrons détailler pour que celle-ci soit accessible pour tous. Consultez bien ce tutoriel jusqu’au bout, car nous y verrons comment personnaliser facilement les tirages (nombre de dés et valeur maximale de chaque dés).

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

 

1. Afficher les dés

Pour afficher les dés, nous n’allons pas avoir besoin d’insérer des images, nous allons tout simplement pouvoir utiliser les emojis de dés correspondants.

Pour insérer un émoji dans une cellule Excel, nous pouvons utiliser la fonction UNICAR(), que nous avions déjà découverte dans un tutoriel précédent que vous pouvez consulter en cliquant ici.

Cette fonction permet de retourner un caractère spécial à partir du numéro qui lui correspond.

Excel formation - lancer les dès sur Excel - 01

Le numéro du dés à un point est le 9856.

Les autres numéros sont logiquement les suivants, jusqu’à 9861 pour le dés à six points.

En revanche, nous n’allons pas utiliser la fonction UNICAR() qui est une fonction Excel, mais son équivalent en VBA, la fonction ChrW(), en sachant que les numéros de série à utiliser sont les mêmes.

 

2. Lancement d’un dés

Pour commencer, nous allons voir comment lancer un seul dés.

Pour cela, nous allons bien entendu devoir passer par le développement d’une petite macro-commande en VBA.

Pour que ce tutoriel soit accessible à tout le monde, nous allons revenir dans le détail sur aspect de cette dernière.

Si vous souhaitez aller plus loin dans la découverte du langage VBA, vous pouvez évidemment consulter la formation disponible sur le blog en cliquant ici.

Pour commencer, nous allons lancer l’éditeur de code VBE (pour Visual Basic Editor), qui est l’éditeur de code intégré dans les différentes applications de la suite Office et qui permet de développer des macro-commandes en VBA.

Pour cela, nous appuyons simplement sur les touches [Alt]+[F11] :

Excel formation - lancer les dès sur Excel - 02

VBE s’ouvre alors et nous allons commencer par créer un nouveau module.

Un module est une feuille de saisie de code dans laquelle nous allons pouvoir saisir nos macros et fonctions.

Pour insérer un nouveau module, nous nous rendons dans le menu Insertion > Module :

Excel formation - lancer les dès sur Excel - 03

Une fois le module inséré, nous allons créer une nouvelle macro en utilisant le mot-clé Sub, suivi du nom de la macro :

Sub lancementDes()

Lorsque nous appuyons sur la touche [Entrée], Excel insère automatiquement la fin de la macro avec la ligne « End Sub », ce qui signifie que tout ce que nous allons taper entre ces lignes sera exécuté automatiquement à chaque lancement de la macro.

Excel formation - lancer les dès sur Excel - 04

Pour commencer, nous allons afficher le dés à un point dans la cellule [A10] de la feuille de calcul :

    [A10] = Chr(9856)

Nous pouvons exécuter la macro en appuyant sur la touche [F5] et aller visionner le résultat dans la feuille de calcul :

Excel formation - lancer les dès sur Excel - 05

Il ne reste alors plus qu’à augmenter la taille de caractère :

Excel formation - lancer les dès sur Excel - 06

Ensuite, pour mettre en place un lancement aléatoire, nous allons pouvoir utiliser la fonction Rnd que nous avons également découverte dans un tutoriel précédent.

    Randomize
    [A10] = ChrW(9856 + Int(Rnd * 6))

Nous commençons par appeler la fonction Randomize qui permet de rendre le lancement totalement aléatoire.

Ensuite, à l’intérieur de la fonction ChrW nous ajoutons au numéro de série du dés à un point le résultat retourné par la fonction Rnd que nous multiplions par 6.

Pour rappel, la fonction Rnd retourne une valeur comprise en 0 et 1.

Nous multiplions ce résultat par 6, en nous n’en prenons que la valeur entière, c’est-à-dire un nombre entier compris entre 0 et 5.

Maintenant, à chaque fois que nous lançons la macro, la valeur du dés sera modifiée.

Pour animer légèrement le résultat, nous allons faire défiler des résultats provisoires en encapsulant cette ligne dans une boucle For :

    Dim i As Integer
    
    Randomize
    
    For i = 1 To 100
        [A10] = ChrW(9856 + Int(Rnd * 6))
    Next

Nous commençons par déclarer une nouvelle variable que nous appelons i et que nous typons en tant que nombre entier, donc Interger.

Avec cette variable nous pouvons mettre en place une boucle For qui va permettre d’afficher 100 résultats successifs.

 

3. Lancer plusieurs dés

Maintenant que nous savons comment lancer un seul dés, nous allons pouvoir répéter la même opération pour plusieurs dés.

Pour cela, il suffira de récupérer la valeur de la cellule dans laquelle l’utilisateur est invité à saisir le nombre de dés (dans notre, exemple la cellule B7).

Excel formation - lancer les dès sur Excel - 07

Nous allons tout simplement mettre en place une seconde boucle en utilisant une variable que nous appelons j et qui pourra avoir pour valeur maximale le résultat de cette cellule :

    Dim i As Integer, j As Integer
    
    Randomize
    
    For j = 1 To [b7]
        For i = 1 To 100
            [a10].Offset(0, j - 1) = ChrW(9856 + Int(Rnd  * 6))
        Next
    Next

Comme vous pouvez le constater, le dés en cours sera affiché dans la cellule retournée par la fonction Offset.

Cette fonction permet d’effectuer un décalage de cellule, en partant d’une cellule donnée, et en se décalant d’un nombre de cellule donné en argument. Ce décalage correspond à la valeur retournée par la valeur de j moins 1.

Excel formation - lancer les dès sur Excel - 08

Bien entendu, nous allons devoir dupliquer la mise en forme du dés d’origine sur ces cellules.

Pour cela, nous sélectionnons la cellule B10, puis nous plaçons le curseur de la souris sur la poignée de recopie (le petit carré noir situé en bas à droite, que nous faisons simplement glisser vers la droite, de 10 cellules).

Excel formation - lancer les dès sur Excel - 09

Excel formation - lancer les dès sur Excel - 10

Maintenant si nous relançons un tirage, nous allons pouvoir constater que les derniers dés vont rester inchangés dés lors que leur nombre est inférieur à 10 :

Excel formation - lancer les dès sur Excel - 11

Pour éviter ce problème, nous allons simplement supprimer le contenu des 10 cellules en utilisant la méthode ClearContents de cette plage :

    [a10:j10].ClearContents 

Cette ligne est à insérer avant le lancement de la boucle :

Excel formation - lancer les dès sur Excel - 12

 

4. Faire varier la valeur maximale des dés

Parfois nous pouvons avoir besoin de tirer un nombre aléatoire dont la valeur maximale devrait inférieure à six.

Par exemple pour tirer un nombre compris entre 1 et 2 (tirage pile ou face).

Pour cela, nous venons saisir la valeur maximale acceptée dans la cellule B8 :

Excel formation - lancer les dès sur Excel - 13

Ensuite, nous venons utiliser cette valeur dans la détermination de la valeur aléatoire à attribuer aux dés ;

            [a10].Offset(0, j - 1) = ChrW(9856 +  Int(Rnd * [b8]))

Excel formation - lancer les dès sur Excel - 14

 

5. Créer un bouton pour lancer la macro

Maintenant que la macro-commande est terminée, il ne reste plus qu’à trouver un moyen simple de l’appeler directement depuis la feuille de calcul.

Pour cela, nous allons simplement insérer un bouton à l’intérieur de celle-ci que nous allons lier à la macro.

Nous nous rendons donc dans le menu Insertion > Zone de texte, puis nous insérons cette zone de texte à l’endroit souhaité :

Excel formation - lancer les dès sur Excel - 15

Nous pouvons ensuite saisir le texte correspond et mettre en forme ce bouton depuis le menu Mise en forme, qui n’apparaît que lorsque le bouton est sélectionné :

Excel formation - lancer les dès sur Excel - 16

Pour affecter la macro au clic sur ce bouton, nous effectuons un clic-droit > Affecter une macro :

Excel formation - lancer les dès sur Excel - 17

Il suffit ensuite de sélectionner la macro et de cliquer sur le bouton [OK] :

Excel formation - lancer les dès sur Excel - 18

 

 



Articles qui pourraient vous intéresser

Comment écrire un nombre en toutes lettres avec une fonction Excel ?
Comment compter le nombre de mots contenus dans une cellule Excel ?
Comment comparer automatiquement deux feuilles de calcul sur Excel – On développe une mini-application ensemble
56 astuces pour grands débutants sur Excel !
Comment lancer les dés sur Excel ?
Comment créer une frise chronologique à partir d’un graphique Excel ?
Suivre les matchs de l’Euro 2020 sur Excel, le fichier !
Comment mélanger une liste de manière aléatoire sur Excel ?
Comment obtenir des informations sur l’utilisateur du fichier Excel avec la fonction INFORMATIONS() ?
Faut-il utiliser les macro-commandes VBA sur Excel ?
Comment exporter une feuille dans un classeur (ouvert ou fermé) sur Excel ?
Sortez du lot : comment créer un CV moderne et impactant avec Excel

Contact - Plan du site - À propos - Contact

© Excel-Formation 2018 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.