cellule impossible à réactiver

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonne année à toutes et tous,

je vous soumet un petit problème qui m'est insurmontable et qui m'a empêché de trouver le sommeil hier soir

ci-joint le fichier et le code

Code:
Public Sub bouton_Click()
Dim tirage
Dim casedelete

Randomize    ' Initialise le générateur de nombres aléatoires.
tirage = Int((26 * Rnd) + 1) ' Renvoie une valeur aléatoire comprise entre 1 et 26.
casedelete = 1 + tirage 'parce que la première lettre de l'alphabet est dans la colonne "2"

Cells(9, casedelete).Select  'pour mettre la lettre sélectionnée
Selection.Font.ColorIndex = 35 ' de la même couleur que le fond

Range("f20").Select 'cache la cellule active derrière le graphe
Range("f20").Value = Cells(9, casedelete).Value ' et y met le résultat

UserForm1.Show 'affiche la boite de saisie de la réponse
End Sub
__________________________________________________________________________________________
Public Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Range("f19").Value = Chr(KeyAscii)

If Range("f19").Value = Range("f20").Value Then 'teste si BONNE REPONSE
    TextBox1.Text = "BRAVO"
    Cells(3, 15).Value = Cells(3, 15).Value + 1 ' incrémente la case "bonnes réponses"
End If
If Range("f19").Value <> Range("f20").Value Then ' TESTE SI MAUVAISE REPONSE
    TextBox1.Text = "ERREUR"
    Cells(4, 15).Value = Cells(4, 15).Value + 1 ' incrémente la case "réponses fausses "
End If

Application.Wait (Now + TimeValue("00:00:03")) ' delai d'affichage de 3 secondes
TextBox1.Text = ""   ‘ efface le contenu en vue de l’utilisation suivante

' jusqu'ici tout fonctionne, ça bloque à la ligne suivante 
[COLOR="Red"]Cells(9, casedelete).Select[/COLOR]
Selection.Font.ColorIndex = 0  ‘pour faire réapparaitre la lettre qui avait été « cachée »

Range("f20").Select 'cache la cellule active derrière le graphe
UserForm1.Hide
End Sub

Merci d'avance
 

Pièces jointes

  • alphabet.zip
    21 KB · Affichages: 20
  • alphabet.zip
    21 KB · Affichages: 28
  • alphabet.zip
    21 KB · Affichages: 24

wilfried_42

XLDnaute Barbatruc
Re : cellule impossible à réactiver

Bonjour

Ce que tu declares dans un module est reservé à ce module, Casedelete est declaré dans le premier module, et ne peut etre utilisé comme tel dans le deuxieme

Dans le deuxieme, sa valeur est de 0, cells(9,0) provoque une erreur

Supprime ton dim casedelete et au dessus du premier sub,

Code:
Public Dim Casedelete

si tu n'est pas dans un Module mais dans un UserForm ou dans une feuille, mets la ligne seule dans un module

Bonne journée
 

wilfried_42

XLDnaute Barbatruc
Re : cellule impossible à réactiver

re:

oups erreur de cerveau

tu utilises un code dans sheets, et un code dans userform

tu crees un module et tu declares ta valeur

Public casedelete (pas de dim)

en la creant dans un module, tu la rends utilisable dans tout le classeur
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 965
Membres
103 069
dernier inscrit
jujulop