Problème avec un contrôle userform

juke89 Messages postés 2 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 5 mai 2011 - 5 mai 2011 à 20:07
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 5 mai 2011 à 22:32
Bonjour,

Je dois créer un sudoku en vba pour mon cours d'informatique.
Il est presque fini mais un dernier problème se pose.J'ai un bouton nouvelle grille dans mon userform .Quand la première grille est lancée les cases avec les chiffres ne sont pas accessibles et les vides sont accessibles pour écrire la réponse.Jusque là tout va bien.Le problème se pose quand je lance une deuxième fois nouvelle grille.
Les cases qui étaient accessibles le sont toujours et les cases inaccesibles pareil qu'il y est un chiffre ou non.
Comment faire pour que ma commande soit acutalisée à chaque nouvelle grille?
For g = 1 To 81
If grille.Controls("c" & g).Value "" Then grille.Controls("c" & g).Locked False

next



Merci d'avance
juke89

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 mai 2011 à 20:55
Salut

Il te faut simplement utiliser un Else :
If grille.Controls("c" & g).Value = "" Then 
    grille.Controls("c" & g).Locked = False
Else
    grille.Controls("c" & g).Locked = True
End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
juke89 Messages postés 2 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 5 mai 2011
5 mai 2011 à 22:07
Merci beaucoup!!
Si je peux me permettre d'abuser de votre connaissance un dernier problème se pose.
Je veux réduire la fenêtre excel en ouvrant le fichier et laisser ouvert l'userform
j'ai donc écris:

Private Sub workbook_open()
Application.WindowState = xlMinimized
frmacceuil.Show

End Sub

mais l'userform ne s'ouvre pas.Que puis-je faire?
merci d'avance

juke89
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 mai 2011 à 22:32
Je ne sais pas.
Chez moi, cela fonctionne.
Fait l'essai dans un nouveau classeur :
Ajoute une simple UserForm et dans son coe, tu mets
Private Sub UserForm_Click()
    Unload Me
End Sub

Dans ThisWorkbook, ajoute cette Sub :
Sub xxx()
    Me.Activate
    Application.WindowState = XlWindowState.xlMinimized
    Dim mForm As UserForm1
    Set mForm = New UserForm1
    mForm.Show
    Set mForm = Nothing
    Application.WindowState = XlWindowState.xlNormal
End Sub
et exécute-la (F5 quand ton curseur est à l'intérieur) :

L'interface de Excel (application) passe bien en icone et la forme s'affiche.
En cliquant sur la forme, elle se ferme et le classeur revient.
0
Rejoignez-nous