Problème de compréhension .... (Me.Count + On error go to O)

Signaler
Messages postés
56
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour à tous,

Voilà j'ai un petit problème avec un programme en Vb, je ne comprend pas ce que signifie deux phrases, merci de bien vouloir m'indiquer sur la signification de celles-ci.

1ère phrase : On Error GoTo 0
Alors dans son contexte :

Private Sub cmdAnnule_Click()


' Configuration de la commande annulé
If Not cmdAnnule.Enabled Then Exit Sub ' D'où lors d'un ajout
voirtexte ' Configuration de départ
AfficheEnregistrementActuel (num_fiche)

On Error GoTo 0

DefinirEtatBouton ' Met en service les boutons enregistrer et annuler
cmdOktexte.Visible = True
cmdOkcombo.Visible = False

End Sub

2 ème phrase : If TypeOf Me(X) Is CommandButton Then et le reste aussi :
Alors dans son contexte :

Private Sub DefinirEtatBouton()


Dim X%
For X = 0 To Me.Count - 1
If TypeOf Me(X) Is CommandButton Then
Me(X).Enabled = Not Me(X).Enabled
End If
Next
cmdProducteur.Enabled = True

End Sub

Le Me.Count n'est même pas défini ?

Je vous remercie pour l'aide que vous nous donné....

Amicalement. Luca62.

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Tout ça est expliqué dans l'aide de VB6

- "On Error Goto 0" annule toute gestion d'erreur en cours
- "If TypeOf" permet de tester si le type d'objet passé en référence est de type ...

Vala
Jack
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)
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut,

Comme dit jack mais en plus, tes 2 exemples sont incomplets ou faux.
On error goto 0 est inutile si tu n'as pas On error resume next ou On error goto ...

et For X = 0 To Me.Count ?????

je verrais ça plutôt comme ça :

dim x as control
For each X in Me.controls
If TypeOf X Is CommandButton Then
X.Enabled = Not X.Enabled
End If
Next

Là, ça veut dire que, pour tous les commandbutton de ton form, tu inverses leur propriété enabled.

Cordialement, CanisLupus