Probleme Code enable

Résolu
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008 - 16 juin 2008 à 14:51
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008 - 16 juin 2008 à 17:03
Bonjour tout le monde,
j'ai un problème sur un code:

Private Sub UserForm_Initialize()
    If (abonnement!activités) = "" Then
        SUP.Enabled = True
        MODIFIER.Enabled = True
    End If
End Sub

je veux que quand le userform choix s'ouvre et que dans la feuille abonnements la zone activités et vide alors griser la case sup et modifier.
Mais ca marche pas.
Je sais pas pourquoi.
Merci à tous.

10 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 juin 2008 à 16:25
en fait, il faut tester chaque cellules :

Option Explicit

Sub hjkfhmkk()
    Dim MyRange As Range
    Dim ToutesLesCellsSontVides As Boolean
    
ToutesLesCellsSontVides = True

For Each MyRange In Range("activités")
    If MyRange <> vbNullString Then
        ToutesLesCellsSontVides = False
    End If
Next MyRange

MsgBox ToutesLesCellsSontVides
End Sub

~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 juin 2008 à 16:45
Pourquoi le MsgBox ?  Pour vérifier mon test et te montrer l'utilisation.

Pour toi :

Private Sub UserForm_Initialize()
    Dim MyRange As Range
    Dim ToutesLesCellsSontVides As Boolean
    
ToutesLesCellsSontVides = True

For Each MyRange In Range("activités")
    If MyRange <> vbNullString Then
        ToutesLesCellsSontVides = False
    End If
Next MyRange

    If ToutesLesCellsSontVides Then
        SUP.Enabled = True
        MODIFIER.Enabled = True
        SAISIR.Enabled = False
    End If
End Sub

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
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
16 juin 2008 à 15:18
Salut
Que veut dire "ça ne marche pas" ?
Positionne ta souris (+ simple clic) sur la ligne If (abonnement ... puis appuie sur F9
Le code s'arrêtera sur cette ligne au prochain passage
A ce moment là, appuie sur F8 pour exécuter les instructions qui suivent une à une.
Vérifie alors que tu entres bien dans les lignes du dessous.

Nota : Les lignes du dessous rendent valides les objets et tu parles de vouloir les griser.
Ne vois-tu pas quelque chose de bizarre ?

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 juin 2008 à 15:23
salut,

peut-être en remplaçant
If (abonnement!activités) = "" Then
par
If Range("activités").Value = vbNullString Then

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008
16 juin 2008 à 15:59
J'ai rajouté cela donc j'ai :
Private Sub UserForm_Initialize()
    If Range("activités").Value = "" Then
        SUP.Enabled = True
        MODIFIER.Enabled = True
        SAISIR.Enabled = False
    End If
End Sub

Mais quand je click sur le bouton administrateur pour acceder au userform chois il me met erreur d'exécution 13 incomptabilité de type et il me souligne choix.show dans le code ci dessous.

Private Sub administrateur_Click()
'Quand l'utilisateur clique sur administrateur le user form CHOIX s'ouvre
    ACCUEIL.Hide
    CHOIX.Show
End Sub

Merci.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 juin 2008 à 16:02
bah c'est que mon bout de code n'est pas bon..
Je fais qques tests et te dit quoi !

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008
16 juin 2008 à 16:19
Ok merci beaucoup
0
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008
16 juin 2008 à 16:34
Ok donc ça je le met comme tel dans l'évenement initialize?
0
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008
16 juin 2008 à 16:35
Pk tu met msg touteslescellssontvides?
0
eastpeople Messages postés 105 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 novembre 2008
16 juin 2008 à 17:03
Merci beaucoup beaucoup Mortalino.
0
Rejoignez-nous