Créer control image par VBA

Le
Christophe CAMPAIN
Bonjour à tous,

Je cherche à créer un control image par VBA.

Private Sub Commande31_Click()
Dim CtlImg As Control
Set CtlImg = CreateControl(Form_Formulaire1, acImage, , , , 200, 50, 100,
100)
End Sub

Ca me renvoi un erreur "incompatibilité de type" avec CreateControl
surligné.

Pourquoi ?

Par avance merci
Kritof
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5073011
Bonsoir.

il te manque des éléments.
CreateControl ne peut fonctionner que si le formulaire est chargé et en mode
design.
CreateControl ne demande pas l'objet formulaire mais le nom du formulaire.
tu peux faire ceci:

DoCmd.OpenForm "formulaire2", acDesign
Dim CtlImg As Control
Set CtlImg = CreateControl("Formulaire2", acImage, , , , 200, 50, 1000,
1000)
DoCmd.Close acForm, "formulaire2", acSaveYes

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Bonjour à tous,

Je cherche à créer un control image par VBA.

Private Sub Commande31_Click()
Dim CtlImg As Control
Set CtlImg = CreateControl(Form_Formulaire1, acImage, , , , 200, 50, 100,
100)
End Sub

Ca me renvoi un erreur "incompatibilité de type" avec CreateControl
surligné.

Pourquoi ?

Par avance merci
Kritof




Christophe CAMPAIN
Le #5069861
Bonjour Raymond,

Je viens d'essayer d'appliquer ta méthode, mais chez moi ça génère une
erreur:
"Erreur d'exécution '29054': Microsoft Access ne peut pas ajouter, renommer
ou supprimer le(s) contrôle(s) sélectionné(s)."

J'ai essayer diverses parties de mon formulaire, mais rien n'y fait .... Une
idée ?

@+
Kristof

"Raymond [mvp]" news:
Bonsoir.

il te manque des éléments.
CreateControl ne peut fonctionner que si le formulaire est chargé et en
mode

design.
CreateControl ne demande pas l'objet formulaire mais le nom du formulaire.
tu peux faire ceci:

DoCmd.OpenForm "formulaire2", acDesign
Dim CtlImg As Control
Set CtlImg = CreateControl("Formulaire2", acImage, , , , 200, 50, 1000,
1000)
DoCmd.Close acForm, "formulaire2", acSaveYes

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Bonjour à tous,

Je cherche à créer un control image par VBA.

Private Sub Commande31_Click()
Dim CtlImg As Control
Set CtlImg = CreateControl(Form_Formulaire1, acImage, , , , 200, 50,
100,


100)
End Sub

Ca me renvoi un erreur "incompatibilité de type" avec CreateControl
surligné.

Pourquoi ?

Par avance merci
Kritof








Raymond [mvp]
Le #5069851
Bonjour.

je viens de retester même en 97 , ça fonctionne bien . n'aurais-tu pas une
erreur de compil ? as tu bien mis ces deux lignes sur la même ?
Set CtlImg = CreateControl("Formulaire2", acImage, , , , 200, 50, 1000,
1000)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Bonjour Raymond,

Je viens d'essayer d'appliquer ta méthode, mais chez moi ça génère une
erreur:
"Erreur d'exécution '29054': Microsoft Access ne peut pas ajouter,
renommer

ou supprimer le(s) contrôle(s) sélectionné(s)."

J'ai essayer diverses parties de mon formulaire, mais rien n'y fait ....
Une

idée ?

@+
Kristof


Christophe CAMPAIN
Le #5069841
Raymond,

Le debogueur m'avait averti de tout mettre sur la même ligne.
Je viens de retester sur une base de données vierge, nouveau formulaire,
nouveau bouton

Private Sub Commande0_Click()
DoCmd.OpenForm "formulaire1", acDesign
Dim CtlImg As Control
Set CtlImg = CreateControl("Formulaire1", acImage, , , , 200, 50, 1000,
1000)
DoCmd.Close acForm, "formulaire1", acSaveYes

End Sub

Mais toujours la même erreur "Erreur d'exécution '29054': Microsoft Access
ne peut pas ajouter, renommer ou supprimer le(s) contrôle(s)
sélectionné(s)."

Ne faut il pas faire référence à une biliothèque spécifique pour créer ces
objets en VBA ?

Dans mon projet j'ai :
Visual Basic For Applications,
Microsoft Access 9.0 Object Library
Microsoft ActiveX Data Objects 2.1 Library
OLE Automation
Microsoft Forms 2.0 Object Library
Microsoft Windows Cmmon Controls 6.0 (SP3)

@+
Kristof

"Raymond [mvp]" news:
Bonjour.

je viens de retester même en 97 , ça fonctionne bien . n'aurais-tu pas une
erreur de compil ? as tu bien mis ces deux lignes sur la même ?
Set CtlImg = CreateControl("Formulaire2", acImage, , , , 200, 50, 1000,
1000)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Bonjour Raymond,

Je viens d'essayer d'appliquer ta méthode, mais chez moi ça génère une
erreur:
"Erreur d'exécution '29054': Microsoft Access ne peut pas ajouter,
renommer

ou supprimer le(s) contrôle(s) sélectionné(s)."

J'ai essayer diverses parties de mon formulaire, mais rien n'y fait ....
Une

idée ?

@+
Kristof






Raymond [mvp]
Le #5069751
Au lieu de ado (activex data object) coche DAO3.6

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Raymond,

Le debogueur m'avait averti de tout mettre sur la même ligne.
Je viens de retester sur une base de données vierge, nouveau formulaire,
nouveau bouton

Private Sub Commande0_Click()
DoCmd.OpenForm "formulaire1", acDesign
Dim CtlImg As Control
Set CtlImg = CreateControl("Formulaire1", acImage, , , , 200, 50, 1000,
1000)
DoCmd.Close acForm, "formulaire1", acSaveYes

End Sub

Mais toujours la même erreur "Erreur d'exécution '29054': Microsoft Access
ne peut pas ajouter, renommer ou supprimer le(s) contrôle(s)
sélectionné(s)."

Ne faut il pas faire référence à une biliothèque spécifique pour créer ces
objets en VBA ?

Dans mon projet j'ai :
Visual Basic For Applications,
Microsoft Access 9.0 Object Library
Microsoft ActiveX Data Objects 2.1 Library
OLE Automation
Microsoft Forms 2.0 Object Library
Microsoft Windows Cmmon Controls 6.0 (SP3)

@+
Kristof


Christophe CAMPAIN
Le #5069681
Raymond,

J'ai fais les changements, mais ça ne change rien, j'ai toujours le même
message d'erreur...

@+
Kristof


"Raymond [mvp]" news:
Au lieu de ado (activex data object) coche DAO3.6

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:
Raymond,

Le debogueur m'avait averti de tout mettre sur la même ligne.
Je viens de retester sur une base de données vierge, nouveau formulaire,
nouveau bouton

Private Sub Commande0_Click()
DoCmd.OpenForm "formulaire1", acDesign
Dim CtlImg As Control
Set CtlImg = CreateControl("Formulaire1", acImage, , , , 200, 50, 1000,
1000)
DoCmd.Close acForm, "formulaire1", acSaveYes

End Sub

Mais toujours la même erreur "Erreur d'exécution '29054': Microsoft
Access


ne peut pas ajouter, renommer ou supprimer le(s) contrôle(s)
sélectionné(s)."

Ne faut il pas faire référence à une biliothèque spécifique pour créer
ces


objets en VBA ?

Dans mon projet j'ai :
Visual Basic For Applications,
Microsoft Access 9.0 Object Library
Microsoft ActiveX Data Objects 2.1 Library
OLE Automation
Microsoft Forms 2.0 Object Library
Microsoft Windows Cmmon Controls 6.0 (SP3)

@+
Kristof






Raymond [mvp]
Le #5069641
Peux-tu me passer ton formulaire avec le minimum de ce qui va autour ? en
zip ou rar obligatoire, enlève le XYZ. dans l'adresse. on ne va pas se
laisser emm.. par une image !

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:%
Raymond,

J'ai fais les changements, mais ça ne change rien, j'ai toujours le même
message d'erreur...

@+
Kristof


Christophe CAMPAIN
Le #5069561
Ok,
je te prépare ça TDS...

@+
Kristof

"Raymond [mvp]" news:%
Peux-tu me passer ton formulaire avec le minimum de ce qui va autour ? en
zip ou rar obligatoire, enlève le XYZ. dans l'adresse. on ne va pas se
laisser emm.. par une image !

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:%
Raymond,

J'ai fais les changements, mais ça ne change rien, j'ai toujours le même
message d'erreur...

@+
Kristof






Raymond [mvp]
Le #5063661
tu ne peux pas créer un controle dans ton propre formulaire car il faut le
mettre en design. il faut le faire à partir d'un autre formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:O1kmu$
Ok,
je te prépare ça TDS...

@+
Kristof


Christophe CAMPAIN
Le #5063611
Ok ça marche !!!

Merci pour ton aide précieuse.

Pendant que j'y suis, connais tu une fonction Access Similaire au "rognage"
des photos avec poignée dans les appli Office (Word / Excel) ?
Sous Excel par exemple :
Selection.ShapeRange.PictureFormat.CropRight = 72#
Selection.ShapeRange.PictureFormat.CropTop = 123#


@+
Kristof

"Raymond [mvp]" news:
tu ne peux pas créer un controle dans ton propre formulaire car il faut le
mettre en design. il faut le faire à partir d'un autre formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Christophe CAMPAIN" dans le message de news:O1kmu$
Ok,
je te prépare ça TDS...

@+
Kristof






Publicité
Poster une réponse
Anonyme