Compléter jeu du pendu xlsm

Bonsoir,

s'il vous plait

J'ai essayé de créer "jeu du pendu" son objectif de trouver les mots cachés avec deux compteurs:l'un pour le nombre de tentatives et l'autre pour compter les points;j'ai caché les mots dans la première colonne de la feuille 2;l'interface du jeu à la feuil 1 et la barre supérieure sombre il y a des tirets ( _)selon Le nombre de caractères du mot caché et chaque fois que l'utilisateur écrit une lettre du mot sera placé à la bonne place et recevra un point et sinon une image des étapes du pendu va apparaître,le mot cherché va apparaître à A1 feuil1 et le no de l image apparaîtra à A2 feuil 1;mais si on complète le jeu on va cacher A1 etA2 de la feuil1 en l'écrivant de la même coleur que l'arrière plan ;s'il complète le mot un message sera affiché"bravo.vous avez gagné." et si a 8 erreurs le message "vous avez perdu" s'affichera.les images des pendu sont dans un dossier dans la même destination du fichier xlsm. mais je n'arrive pas à le compléter.

s'il vous plait aidez moi

et Merci

21jeu.rar (56.07 Ko)

Bonjour,

Je n'ai pas ouvert vos fichiers, mais j'ai planché sur un code VBA de "Pendu" :

28testpendu.xlsm (44.57 Ko)

Le fichier n'est pas protégé, tout est accessible. La liste des mots (plus de 1100 proposés) est dans un onglet masqué (vous pouvez en ajouter d'autres). En espérant qu'il vous soit utile.

Bonsoir,

Mr Pedro22

Merci infiniment à vous

Mais est qu' il ya quelqu'un peut m'aider à résoudre les erreurs dans mon fichier?

et Merci d'avance.

Bonsoir,

j'ai suivi les étapes indiquées dans ce vidéo

https://www.youtube.com/watch?v=HyTUGPZt6zM&t=9s

Bonjour,

Je suis en train d'examiner votre fichier, je vais faire mes commentaires au fur et à mesure de ma lecture.

Pour commencer, tout codeur digne de ce nom respecte un certain nombre de règles d'écriture du code. Par exemple, dans votre macro L_click(), il n'y a ni indentation, ni commentaire, ce qui complique pas mal la lecture...

Voilà une version annotée de cette macro :

Sub L_click()

'On déclare toutes les variables ici, pas au fil du programme
Dim mottrouve As String, motcahe As String, maplage As Range, img As shipe

On Error Resume Next
Set maplage = ActiveSheet.Range("B3:P15") 'activesheets n'existe pas, c'est ActiveSheet (qui est d'ailleurs la valeur par défaut, inutile de préciser)
mottrouve = Range("A1").Value
motcache = Range("H6").Value 'H6 ou D6 ? D6 correspond à la valeur de la cellule fusionnée
Range("E13").Value = Range("E13").Value + 1 'Compteur de note
For cc = 1 To Len(mottrouve)
    If Mid(mottrouve, cc, 1) = "L" Then
        Mid(motcache, cc, 1) = "L" 'Quel est l'objectif de cette ligne ? Je pense qu'il y a un soucis à ce niveau
        Range("H6").Value = motcache
        Range("L13").Value = Range("L13").Value + 1 'Compteur de coups
    Else
        For Each img In maplage.Shapes
            img.Delete
        Next
    End If
Next cc
If Not mottrouve Like "*L*" Then
    Range("A2").Value = Range("A2").Value + 1
    rep = thiswork.Path & "\pendu\"
    photo = rep & Range("A2").Value & ".gif"
    Range("i12").Select
    Set image = ActiveSheet.Pictures.Insert(photo)
End If
If motcache = mottrouve Then MsgBox "Bravo" & Chr(10) & "vous avez gagné"
If Range("A2").Value = 8 Then MsgBox "Désolé" & Chr(10) & "vous avez perdu"

End Sub

Bonjour Pedro22

j'ai adopté ton fichier merci à toi

Bonjour Pedro22

j'ai adopté ton fichier merci à toi

Content qu'il serve !

Concernant l'autre macro :

Sub Rejouer_Cliquer()

Dim hasard As Integer, nbimg As Integer, q As Integer
Dim cpt As Integer, cp As Integer, mottrouve As String, motcache As String
Dim maplage As Range, rep As String, photo As String, img As Shape
Dim tiret As String, mot As String

On Error Resume Next
Randomize
nbimg = 1
With Sheets("Feuil2")
    q = .Range("A1").End(xlDown).Row 'Range("feuil2!A1") --> à éviter
    nb = Application.CountA(.Range("A1:A" & q)) 'Idem
    hasard = Int(nb * Rnd) 'nombre entre 1 et nombre de mots disponibles inclus. ATTENTION : nom de variable = "hasard" et non "hazard"
End With
With Sheets("Feuil1")
    Set maplage = .Range("B4:P15")
    .Range("A2").Value = nbimg
    Do While .Cells(cpt, 1).Value <> ""
        If cpt = hasard Then
            mottrouve = Sheets("Feuil2").Cells(cpt, 1).Value
            For cp = 1 To Len(mottrouve)  'cache le mot trouve
                motcache = motcache & "_"
            Next cp
            For Each img In maplage.Shapes
                img.Delete
            Next
            rep = ThisWorkbook.Path & "\pendu\"
            photo = rep & "1.gif"
            .Range("i10").Select
            Set image = ActiveSheet.Pictures.Insert(photo)
            .Range("E13").Value = 0
            .Range("L13").Value = 0
            tirets = ""
            .Range("A1").Value = mottrouve
            For i = 1 To Len(mottrouve)
                mot = mot & Mid(mottrouve, i, 1) & Chr(32) & Chr(32) & Chr(32)
            Next i
            .Range("A1").Value = mot
            For i = 1 To Len(motcache)
                tirets = tirets & Mid(motcache, i, 1) & Chr(32) & Chr(32) & Chr(32)
            Next i
            Range("H6").Value = tirets
            Exit Sub
    End If
    cpt = cpt + 1
    Loop
End With

End Sub

Je précise : je n'ai rien testé pour l'instant, et je n'ai pas trop cherché à comprendre l'objectif de chaque instruction. Je me suis contenté de regardé la structure et la syntaxe du code.

Il faut vraiment prendre l'habitude de déclarer les variables en début de macro et de bien respecté l'indentation pour s'y retrouver...

Bonjour,

Mr pedro22

merci beaucoup pour votre attention que vous avez porté à mon sujet.

Pouvez vous apporter les modifications nécessaires pour qu'il fonctionne correctement.

Encore merci pour votre aide.

Pouvez vous apporter les modifications nécessaires pour qu'il fonctionne correctement.

Encore merci pour votre aide.

Je pense que c'est plutôt votre travail... Je ne vais probablement pas avoir le temps d'en faire plus de toute manière.

Merci infiniment à vous.

bonjour toutes et tous

@Pedro22

il reste plus que le chronomètre mdr merci en tout cas, je l'ai adopté

le voici légèrement modifié avec une aide qui s'affiche cool

a ) avec indice

b) plus ajouter un mot dans la base

--;)

zpendu

Bonjour Andre13 !

Merci de l'intérêt porté à ce petit fichier . J'ai soumis une version modifiée dans la partie téléchargement (en attente de validation). Je ne manquerais pas de jeter un œil à vos propositions pour les intégrer au fichier proposé, dès que j'en aurais le temps !

Pour ce qui est d'ajouter un mot à la base, c'est déjà intégré dans la "nouvelle" version.

Il faudra que je modifie le code pour pouvoir y joindre un ou plusieurs indice(s). Je pensais également classer les mots par catégories, pour pouvoir restreindre les mots à deviner à une ou plusieurs catégorie(s).

Ces changements ne seront probablement pas apportés avant un bon mois...

@Pedro22

merci, je serais très patient

super avec des catégories etc..

@Pedro22

merci, je serais très patient

super avec des catégories etc..

Nouvelle version disponible au téléchargement ! Je n'ai pas encore prit le temps d'intégrer d'indice, ni de pouvoir archiver les scores (et afficher un classement).

Bonjour toutes et tous

@Pedro22

bravo ^^ pour la version PenduV2 avec l'ajout des catégories cool et merci @ toi

j'aime bien: mot personnalisé ^^ cool

une petite erreur : j'ai essayé d'ajouter le métier exemple programmeur et cela, me mets dans l'onglet 'Listemots' le lieu au lieu du métier en colonne B le mot s'ajoute correctement mais pas la catégorie

crdlt,

André

Bonjour toutes et tous

@Pedro22

bravo ^^ pour la version PenduV2 avec l'ajout des catégories cool et merci @ toi

j'aime bien: mot personnalisé ^^ cool

une petite erreur : j'ai essayé d'ajouter le métier exemple programmeur et cela, me mets dans l'onglet 'Listemots' le lieu au lieu du métier en colonne B le mot s'ajoute correctement mais pas la catégorie

crdlt,

André

Merci du retour,

C'est pas drôle si tout fonctionne d'emblée ! Je vais vérifier ça et re-proposer une version corrigée à Sébastien.

PS : bête erreur d’inattention de ma part ! Il suffit de supprimer la catégorie "Toutes" de la variable tableau "Catégorie" dans la macro "AjouterMot()".

re,

bien vu le toutes

je n'aurais jamais pensé à cela

re,

bien vu le toutes

je n'aurais jamais pensé à cela

Je n'y ai pas pensé non plus avant de soumettre le fichier !

Rechercher des sujets similaires à "completer jeu pendu xlsm"