C réglé

merci encore

peux-tu joindre ton fichier via la fonction ajouter un fichier ? sendbox demande d'attendre 24h avant de pouvoir télécharger ton fichier.

voici mon fichier

merci

bonsoir,

code qui permet de vérifier si la cellule fait partie de la grille de jeu. j'ai ajouté une variable taille qui indique la taille de la grille (carrée)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim my_column, my_row As Long
  Dim ref_col, ref_lig, i, j As Integer

  ' Indexes de références de la ligne et colonne du coin haut et gauche
  ' de notre matrice de démineurs
  ref_col = 4
  ref_lig = 10
  taille = 5 ' 5x5
  'vérfie si la cellule sélectionnée fait partie de la grille de jeu, sinon on sort de la procédure
  If Target.Column < ref_col Or Target.Column > ref_col + taille Then Exit Sub
  If Target.Row < ref_lig Or Target.Row > rf_lig + taille Then Exit Sub
  Application.EnableEvents = False
  ' il ne me semble pas nécessaire de tester la couleur
  With ActiveSheet

 End With
  Application.EnableEvents = True
End Sub

merci beacoup!

je voulais savoir sa sert a quoi With ActiveSheet?

merci encore

je ne sais pas ce que tu comptais faire, cela faisait partie de ton code, je l'ai laissé.

je te laisse programmer la détection de la bombe et le comptage des bombes sur les cases avoisinantes ?

en fait c'est un travail que je dois rendre au prof, With ActiveSheet était dans le code donné par le prof et je sais pas a quoi sert!

j'essaye de programmer a detection de la bombe et le comptage

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  Dim i As Integer, j As Integer

  'vérifie si la cellule sélectionnée est grise et donc fait partie de la grille de jeu, sinon on sort de la procédure
  If Target.Interior.ColorIndex <> 15 Then Exit Sub
  ' détection d'une bombe sur la case sélectionnée
  If Target = "B" Then MsgBox "Boum ...": Exit Sub
  ' pas de bombe, on compte les bombes dans les cellules avoisinantes
  ctrbombe = 0
  For i = -1 To 1
   For j = -1 To 1
    If Target.Offset(i, j) = "B" Then ctrbombe = ctrbombe + 1
   Next j
  Next i
  ' on indique le nombre de bombes trouvées dans les cellules avoisiantes, dans la cellule selectionnée
  Target = ctrbombe
  ' on change la couleur de fond de la cellule selectionnée
  Target.Interior.ColorIndex = 0

End Sub

merci beacoup

exercice d'IUT GIM??

Rechercher des sujets similaires à "regle"