Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Incompatibilité de type ?

2 réponses
Avatar
Joël
Bonjour à toutes et à tous...

Qu'est-ce qui cloche danbs cette procédure...
'=============================
Dim oCon As Control
With Forms("Batches")
For Each oCon In .Controls
'=============================

Je voudrais passer en revue l'ensemble des contrôle d'un formulaire, afin de
les positionner par code VBA, les rendre visibles ou non selon certaines
conditions, etc...

La procédure ci-dessus me donne un message d'erreur sur la ligne

For Each oCon in .Controls

(Incompatibilité de type !)
Comment déclarer la variable ?

si je la déclare ainsi :
'=============================
Dim oCon
With Forms("Batches")
For Each oCon In .Controls
If InStr(oCon.Name, "ANA", 1) > 0 Then
'==============================
L'incompatibilité de type intervient sur la ligne suivante !

If InStr(oCon.Name, "ANA", 1) > 0 Then

Vous remerciant par avance,

Amicalement,

Joël

2 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Tu n'as pas définis ton objet Form, essais :

Dim frm as form
Dim 0Con as control

set frm = Forms("Batches")
with frm
for each oCon in .controls
...
Next
end with

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Joël" a écrit dans le message de news:
45895ae9$0$27378$
Bonjour à toutes et à tous...

Qu'est-ce qui cloche danbs cette procédure...
'============================ > Dim oCon As Control
With Forms("Batches")
For Each oCon In .Controls
'============================ >
Je voudrais passer en revue l'ensemble des contrôle d'un formulaire, afin
de les positionner par code VBA, les rendre visibles ou non selon
certaines conditions, etc...

La procédure ci-dessus me donne un message d'erreur sur la ligne

For Each oCon in .Controls

(Incompatibilité de type !)
Comment déclarer la variable ?

si je la déclare ainsi :
'============================ > Dim oCon
With Forms("Batches")
For Each oCon In .Controls
If InStr(oCon.Name, "ANA", 1) > 0 Then
'============================= > L'incompatibilité de type intervient sur la ligne suivante !

If InStr(oCon.Name, "ANA", 1) > 0 Then

Vous remerciant par avance,

Amicalement,

Joël



Avatar
Joël
Merci Jessy,

En fait, en remettant les arguments dans le bon ordre dans la fonction
Instr, cela marche beaucoup mieux !!!

Bonne soirée, et encore merci

Amicalement

Joël

"Jessy Sempere [MVP]" a écrit dans le message de
news: 45895bc5$
Bonjour

Tu n'as pas définis ton objet Form, essais :

Dim frm as form
Dim 0Con as control

set frm = Forms("Batches")
with frm
for each oCon in .controls
...
Next
end with

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Joël" a écrit dans le message de news:
45895ae9$0$27378$
Bonjour à toutes et à tous...

Qu'est-ce qui cloche danbs cette procédure...
'============================ >> Dim oCon As Control
With Forms("Batches")
For Each oCon In .Controls
'============================ >>
Je voudrais passer en revue l'ensemble des contrôle d'un formulaire, afin
de les positionner par code VBA, les rendre visibles ou non selon
certaines conditions, etc...

La procédure ci-dessus me donne un message d'erreur sur la ligne

For Each oCon in .Controls

(Incompatibilité de type !)
Comment déclarer la variable ?

si je la déclare ainsi :
'============================ >> Dim oCon
With Forms("Batches")
For Each oCon In .Controls
If InStr(oCon.Name, "ANA", 1) > 0 Then
'============================= >> L'incompatibilité de type intervient sur la ligne suivante !

If InStr(oCon.Name, "ANA", 1) > 0 Then

Vous remerciant par avance,

Amicalement,

Joël