Comment créer un jeu de mots viral dans Excel
J'adore utiliser Excel pour des choses autres que la comptabilité ennuyeuse. Construire un clone Wordle entièrement fonctionnel, réutilisable et partageable est l'une de ces choses. De plus, c'est une façon amusante et unique de maîtriser les outils fondamentaux d'Excel.
Sommaire
Cette méthode utilise des macros VBA
L'étape principale de ce guide utilise des macros VBA pour gérer la séquence complexe de devinettes Wordle et la logique de notation. Cela garantit au joueur l'expérience la plus fiable, car cela ne l'oblige pas à modifier aucun de ses paramètres Excel de base. Cependant, ne vous inquiétez pas si vous ne savez pas écrire du code VBA, car vous pouvez simplement copier et coller le mien !
Lorsque le joueur ouvre le fichier prenant en charge les macros, il voit un ruban d'avertissement de sécurité en haut de son écran Excel. À ce stade, ils doivent cliquer sur « Activer le contenu » pour que le jeu fonctionne comme prévu. S'ils ne le font pas, le tableau sera statique et ne notera pas leurs suppositions.
Vous et les joueurs qui recevront une copie de votre jeu devez utiliser la version de bureau de Microsoft Excel.
- Système d'exploitation
-
Windows, macOS, iPhone, iPad, Android
- Essai gratuit
-
1 mois
Microsoft 365 inclut l'accès aux applications Office telles que Word, Excel et PowerPoint sur jusqu'à cinq appareils, 1 To de stockage OneDrive et bien plus encore.
Étape 1 : Enregistrement du fichier prenant en charge les macros
Cette étape prépare votre classeur pour VBA. Ouvrez un nouveau classeur Excel et cliquez sur Fichier > Enregistrer sous > Parcourir.
Choisissez un emplacement pour votre fichier et dans le champ Type de fichier, sélectionnez « Classeur Excel prenant en charge les macros ». Ensuite, nommez le fichier et cliquez sur « Enregistrer ».
Étape 2 : Configuration du dictionnaire et du canevas
Ensuite, vous devez créer un dictionnaire de mots valides et créer le plateau de jeu Wordle.
Ajoutez une nouvelle feuille de calcul (« + ») et double-cliquez sur le nouvel onglet de la feuille pour la renommer Liste de mots. Appuyez sur Entrée pour confirmer.
Recherchez une liste de mots de cinq lettres, copiez tous les mots et collez-les (à l'aide de Ctrl+Maj+V) dans la cellule A1 de la feuille WordList. Ensuite, recherchez et supprimez les doublons exacts en sélectionnant la colonne A et en cliquant sur « Supprimer les doublons » dans l'onglet Données.
Ensuite, revenez à la feuille de calcul du jeu (Feuille1), sélectionnez toutes les cellules (Ctrl+A) et modifiez la largeur des cellules à 65 pixels en cliquant et en faisant glisser la limite entre deux en-têtes de colonnes.
Répétez ce processus pour les lignes afin que toutes les cellules soient carrées.
Maintenant, saisissez un mot secret de cinq lettres dans la cellule A1 en majuscules. Ensuite, sélectionnez les cellules B3 à F8, modifiez la taille de la police à 36 pt et centrez le texte verticalement et horizontalement via l'onglet Accueil. Enfin, ajoutez une bordure extérieure.
Appuyez sur Ctrl+S pour enregistrer le fichier.
Excel n'est pas réservé aux comptables : 4 façons de l'utiliser dans ma vie quotidienne
Excel est un excellent outil pour rester organisé dans votre vie bien remplie.
Étape 3 : Créer les mécaniques du jeu
La macro est la salle des machines de votre jeu. Il gère automatiquement toute la logique de notation, de couleurs et de lettres.
Cliquez avec le bouton droit sur l'onglet « Feuil1 » et cliquez sur « Afficher le code ».
Dans la fenêtre de l'éditeur VBA, double-cliquez sur « Sheet1 (Sheet1) » sous Objets Microsoft Excel, puis copiez et collez le code ci-dessous dans la zone de module vide à droite.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim GuessRow As Long
Dim SecretWord As String
' Only run if the changed cell is the F-column (the fifth letter of a guess)
If Not Intersect(Target, Me.Range("F3:F8")) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
' CRITICAL: Unprotect the sheet to allow the macro to change colors and lock status
If Me.ProtectContents Then Me.Unprotect "YOUR_PASSWORD"
GuessRow = Target.Row
' 1. Get Secret Word and Guess
SecretWord = UCase(Me.Range("A1").Value)
' Concatenate the 5 cells into a single string
Dim InputWord As String
Dim j As Long
For j = 2 To 6 ' Loop through columns B to F
InputWord = InputWord & Me.Cells(GuessRow, j).Value
Next j
Dim GuessWord As String
GuessWord = UCase(InputWord)
' 2. Check if valid word (using COUNTIF trick)
Dim WordCount As Long
WordCount = Application.WorksheetFunction.CountIf( _
Sheets("WordList").Range("A:A"), GuessWord)
If WordCount = 0 Then
' Handle invalid word (Not in word list)
MsgBox "Not in word list! Please try again.", vbExclamation
Me.Range("B" & GuessRow & ":F" & GuessRow).ClearContents
Else
' NEW CHECK: Check for duplicate entry
Dim r As Long
Dim DuplicateFound As Boolean
DuplicateFound = False
' Loop through all *previous* guess rows (from row 3 up to the current row - 1)
For r = 3 To GuessRow - 1
' Concatenate the word from the previous row for comparison
Dim PreviousWord As String
Dim k As Long
For k = 2 To 6 ' Columns B to F
PreviousWord = PreviousWord & Me.Cells(r, k).Value
Next k
' Compare the uppercase current guess (GuessWord) with the previous guess
If GuessWord = UCase(PreviousWord) Then
DuplicateFound = True
Exit For
End If
PreviousWord = "" ' Reset for the next loop iteration
Next r
If DuplicateFound Then
MsgBox "You already guessed that word! Please try again.", vbExclamation
Me.Range("B" & GuessRow & ":F" & GuessRow).ClearContents
' Restore settings and exit sub after duplicate is cleared
Application.EnableEvents = True
Application.ScreenUpdating = True
Me.Protect "YOUR_PASSWORD"
Exit Sub
End If
' 3. Core Wordle Scoring Logic (Sets the cell colors directly)
Dim i As Long
Dim Letter As String
Dim ClaimedLetters As String
ClaimedLetters = SecretWord ' Start with all letters available
' Pass 1: Check for GREEN (Correct Position)
For i = 1 To 5 ' Columns 2 (B) to 6 (F)
' FIX: Convert cell content to uppercase for scoring comparison
Letter = UCase(Me.Cells(GuessRow, i + 1).Value)
If Mid(SecretWord, i, 1) = Letter Then
Me.Cells(GuessRow, i + 1).Interior.Color = RGB(106, 170, 100) ' Green
Mid(ClaimedLetters, i, 1) = "#" ' Use placeholder to claim the letter
End If
Next i
' Pass 2: Check for YELLOW/GRAY
For i = 1 To 5
' FIX: Convert cell content to uppercase for scoring comparison
Letter = UCase(Me.Cells(GuessRow, i + 1).Value)
' Only score if not already colored GREEN
If Me.Cells(GuessRow, i + 1).Interior.Color <> RGB(106, 170, 100) Then
' Search the remaining (non-Green) available letters
If InStr(1, ClaimedLetters, Letter) > 0 Then
Me.Cells(GuessRow, i + 1).Interior.Color = RGB(201, 180, 88) ' Yellow
' Claim this yellow letter instance
Mid(ClaimedLetters, InStr(1, ClaimedLetters, Letter), 1) = "#"
Else
Me.Cells(GuessRow, i + 1).Interior.Color = RGB(120, 124, 126) ' Gray
End If
End If
Next i
' 4. Check for Win/Loss (Win check is done via color)
Dim isWin As Boolean
isWin = True
For i = 2 To 6
If Me.Cells(GuessRow, i).Interior.Color <> RGB(106, 170, 100) Then
isWin = False
Exit For
End If
Next i
If isWin Then
Me.Range("B2").Value = "YOU WIN!"
' FIX: Loss condition added for the final row (Row 8)
ElseIf GuessRow = 8 Then
Me.Range("B2").Value = "Better luck next time. The word was " & SecretWord
End If
' 5. LOCK THE CURRENT ROW and UNLOCK THE NEXT ROW for sequential play
Me.Range("B" & GuessRow & ":F" & GuessRow).Locked = True ' Lock the row just completed
' Only unlock the next row if the game isn't won and there are more rows
If Not isWin And GuessRow < 8 Then
Me.Range("B" & (GuessRow + 1) & ":F" & (GuessRow + 1)).Locked = False ' Unlock the next row
End If
End If
Me.Protect "YOUR_PASSWORD" ' Re-protect the sheet using the password you set
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
' If the sheet was already protected, this ensures it gets protected again even if the IF block above was skipped.
If Not Me.ProtectContents Then Me.Protect "YOUR_PASSWORD"
End Sub
Maintenant, avec la fenêtre VBA toujours ouverte, appuyez sur Ctrl+H pour lancer la fenêtre Remplacer. Dans le champ Rechercher, saisissez VOTRE_MOT DE PASSEet dans le champ Remplacer par, saisissez un mot de passe que vous utiliserez plus tard pour sécuriser votre feuille de calcul. Prenez note de cela ! Ensuite, cliquez sur « Remplacer tout » et vous verrez le mot de passe être remplacé quatre fois.
Fermez la fenêtre Remplacer.
Étant donné que la première ligne du code contient un gestionnaire d'événements qui se déclenche automatiquement lorsque des cellules sont modifiées, vous devez le désactiver temporairement jusqu'à ce que vous ayez terminé de configurer la feuille de calcul. Pour ce faire, avec la fenêtre VBA toujours ouverte, cliquez sur « Affichage » sur le ruban et sélectionnez « Fenêtre immédiate ».
Ensuite, copiez et collez ce qui suit dans la fenêtre Exécution et appuyez sur Entrée :
Application.EnableEvents = False
Réduisez la fenêtre VBA pour revenir à la feuille de calcul Wordle. Appuyez sur Ctrl+S pour enregistrer le fichier.
Ne faites aucune supposition sur le plateau de jeu pour l'instant ! Nous testerons la fonctionnalité de la feuille de calcul à l'étape 7.
Étape 4 : Limitation des entrées des joueurs
Ensuite, vous devez contrôler la façon dont le joueur saisit ses entrées. En d’autres termes, vous souhaitez les forcer à saisir une seule lettre dans chaque cellule, plutôt que de taper le mot entier d’un seul coup.
Cette étape pourrait être intégré au code VBA, mais il y a quelques raisons pour lesquelles je préfère utiliser la validation des données :
-
Le joueur reçoit des commentaires sur les entrées invalides avant l'entrée est acceptée (la macro s'exécute uniquement après la valeur de la cellule a changé).
-
La validation des données est une fonctionnalité native d'Excel dont le traitement ne prend pratiquement pas de temps (la macro doit s'initialiser, vérifier l'entrée de la cellule, puis effacer la cellule, ce qui prend plus de temps et consomme plus de ressources).
-
L'utilisation de la validation des données est simple : une formule simple gère toutes les cellules du plateau de jeu (une macro VBA nécessiterait un code complexe supplémentaire).
Sélectionnez les cellules B3 à F8 et dans l'onglet Données du ruban, cliquez sur l'icône « Validation des données ».
Maintenant, sélectionnez « Personnalisé » dans le menu déroulant Autoriser et copiez ce qui suit dans le champ Formule :
=AND(LEN(B3)=1,ISERROR(VALUE(B3)))
Ouvrez l'onglet « Alerte d'erreur » et sélectionnez « Arrêter » dans le menu déroulant Style. Dans le champ Titre, saisissez Lettre invalide. Ensuite, dans le champ Message d'erreur, tapez Entrez une seule lettre par cellulepuis cliquez sur « OK ».
Appuyez sur Ctrl+S pour enregistrer le fichier.
Validation des données personnalisées d'Excel : une astuce dont vous ne saviez pas avoir besoin
Créez des règles de saisie de données spécifiques pour les cellules de votre feuille de calcul.
Étape 5 : Ajouter des instructions de jeu
Cette étape ajoute de la qualité visuelle à votre jeu en indiquant au joueur comment jouer.
Copiez la formule suivante et collez-la dans la cellule B2 :
=" Guess the 5-letter word. Type one letter per cell and use the Right Arrow key to navigate."
J'ai délibérément ajouté un espace avant le mot « Deviner » afin que la saisie semi-automatique d'Excel ne se déclenche pas lorsque le joueur tape la lettre « G » comme première lettre d'une supposition.
Ensuite, sélectionnez les cellules B2 à F2, puis cliquez sur « Fusionner et centrer » et « Envelopper le texte » dans l'onglet Accueil.
Appuyez sur Ctrl+S pour enregistrer le fichier.
Étape 6 : Peaufiner et protéger le jeu
Vous y êtes presque, mais il vous reste encore quelques étapes rapides à effectuer avant de pouvoir tester le jeu et l'envoyer à vos amis.
Tout d’abord, masquez le mot secret en cliquant avec le bouton droit sur l’en-tête de la ligne 1 et en sélectionnant « Masquer ». Cela pousse également la grille de jeu plus haut sur l'écran.
Ensuite, vous devez vous assurer que le joueur ne peut sélectionner les cellules de la première ligne que lorsqu'il commence à jouer (le VBA gérera la navigation séquentielle une fois qu'il aura terminé sa première supposition). Sélectionnez les cellules B3 à F3 et appuyez sur Ctrl+1 pour ouvrir la boîte de dialogue Format de cellule. Ouvrez l'onglet « Protection », décochez « Verrouillé » et cliquez sur « OK ».
Toutes les autres cellules sont verrouillées par défaut au début du jeu, vous pouvez donc désormais protéger la feuille de calcul. Dans l'onglet Révision, cliquez sur « Feuille de protection ». Ensuite, saisissez le mot de passe que vous avez ajouté au code à l'étape 3 et assurez-vous que seules les options suivantes sont cochées :
-
Protéger la feuille de calcul et le contenu des cellules verrouillées
-
Sélectionnez les cellules déverrouillées
Cliquez sur « OK » et confirmez le mot de passe.
Ensuite, protégez la feuille de calcul WordList en cochant uniquement « Protéger la feuille de calcul et le contenu des cellules verrouillées ».
Maintenant, revenez à Sheet1 et dans l’onglet Affichage, décochez « En-têtes ».
Enfin, revenez à la fenêtre VBA que vous avez réduite précédemment et dans la fenêtre Exécution, remplacez le mot « False » par Vraipuis appuyez sur Entrée. Cela met le code en action.
Enregistrez et fermez toute la fenêtre VBA, puis appuyez sur Ctrl+S pour enregistrer le fichier.
Étape 7 : Réalisation d'une copie de test
À ce stade, vous avez probablement hâte de tester le jeu. Cependant, ne faites pas cela dans la version actuelle du fichier ! Créez plutôt une copie.
Fermez Excel et localisez le dossier dans lequel vous avez enregistré le classeur prenant en charge les macros. Ensuite, sélectionnez le fichier et appuyez sur Ctrl+C > Ctrl+V pour le dupliquer.
Maintenant, ouvrez la copie et cliquez sur « Activer le contenu ».
Expérimentez avec votre plateau de jeu : tapez un mot invalide, insérez plus d'une lettre dans une cellule, voyez ce qui se passe lorsque vous terminez une ligne, utilisez des lettres minuscules, répétez un mot, etc.
Étape 8 : Envoyer le jeu à vos amis
La meilleure partie de la création d’un jeu viral est de le partager ! Puisque tout le jeu est contenu dans un seul fichier Excel, le partage est simple, mais vous devez vous assurer d'envoyer un copie (plutôt qu'un lien de partage) du classeur d'origine, par exemple via une pièce jointe à un e-mail : vous ne voulez pas que tout le monde joue sur la même version ! N'oubliez pas non plus de dire aux joueurs qu'ils doivent cliquer sur « Activer le contenu » lorsqu'ils ouvrent le classeur. N'hésitez pas à copier ma capture d'écran ci-dessus pour que ce soit clair.
7 jeux de mots auxquels je joue après avoir terminé Wordle
Vous avez terminé le Wordle d'aujourd'hui ? Essayez ces autres jeux de mots amusants !
Étape 9 : Réinitialisation du mot et du message
Étant donné que vous avez réalisé une copie test à l'étape 7, la grille de la copie principale doit être claire. Ainsi, lorsque vous souhaitez créer un nouveau jeu le lendemain, il vous suffit de réinitialiser le mot secret. Cependant, vous devez désactiver temporairement les macros pour ce faire.
Ouvrez le classeur d'origine et cliquez sur « Activer le contenu ». Ensuite, dans Sheet1, cliquez sur « Déprotéger la feuille » dans l'onglet Révision, saisissez le mot de passe et cliquez sur « OK ».
Ensuite, cliquez avec le bouton droit sur l'onglet « Feuil1 » et cliquez sur « Afficher le code ». Ensuite, cliquez sur « Affichage » sur le ruban de la fenêtre VBA, sélectionnez « Fenêtre immédiate », tapez ce qui suit et appuyez sur Entrée :
Application.EnableEvents = False
Réduisez la fenêtre VBA pour revenir au tableau Wordle et cochez « En-têtes » dans l'onglet Affichage du ruban.
Appuyez plusieurs fois sur Ctrl+A jusqu'à ce que toutes les cellules de la feuille de calcul soient sélectionnées, puis cliquez avec le bouton droit sur l'en-tête de la ligne 2 et cliquez sur « Afficher ».
Maintenant, tapez un nouveau mot dans la cellule A1 en majuscules, masquez la ligne 1, supprimez les en-têtes et réinitialisez le mot de passe via « Protéger la feuille », en vous assurant que seuls « Protéger la feuille de calcul et le contenu des cellules verrouillées » et « Sélectionner les cellules déverrouillées » sont toujours cochés.
Revenez à la fenêtre d'exécution, remplacez « False » par Vraiappuyez sur Entrée et fermez la fenêtre VBA.
Appuyez sur Ctrl+S pour enregistrer le fichier, fermez Excel et envoyez le nouveau jeu à vos amis.
Créer un tableau Wordle entièrement hébergé n'est pas la seule façon pour moi de m'amuser avec Microsoft Excel. Pour mes amis qui préfèrent les défis, j'utilise le programme pour créer des mots croisés imprimables, en tirant parti d'outils simples tels que le formatage précis des cellules, le remplissage des couleurs et les bordures des cellules.
