Bonjour,
connaissez-vous le code vba pour faire tout simplement "format" "mettre en arrière plan" un controle?
Merci
Bonjour,
connaissez-vous le code vba pour faire tout simplement "format" "mettre en arrière plan" un controle?
Merci
Bonjour.
Le formulaire étant ouvert en mode création et le contrôle concerné étant sélectiionné, tu peux essayer une commande d'interfaceBon courage,
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.RunCommand acCmdSendToBack
PGZ
Bonjour,
La méthode ZOrder ne fonctionne pas avec Access.
Mais s'il s'agit de contrôles "Textboxes", le fait de donner le Focus suffit à le placer au premier plan même s'ils sont superposés...
Sinon, tu peux jouer avec la propriété Visible dynamiquement.
Argy
Merci pour vos réponses:
j'ai essayé DoCmd.RunCommand acCmdSendToBack
ave cun fomrulaire en mode création
mais ça m'écrit la commande ou l'action 'placerarrièreplan' n'est pas disponible pour le moment.
Avez-vous une idée?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 'boite Set ctlboite = CreateControl("frm_tableau", acRectangle, , "", "", _ entDonnéeX, entDonnéeY) ctlboite.name = name ctlboite.BackStyle = 1 ctlboite.BorderStyle = 1 ctlboite.BorderColor = "13936755" ctlboite.BackColor = "15590879" ctlboite.Width = 8400 'ctlboite.Height = nb * 1000 ctlboite.Height = hauteur 'en arrière plan
Je ne savais pas que c'était en mode Design... Il fallait préciser
DoCmd.RunCommand acCmdSendToBack ne marche que si le contrôle est sélectionné.
Utilise alors la Propriété .InSelection dans ton code.
Argy
Merci!
J'ai selectionné mon controle et mis
DoCmd.RunCommand acCmdSendToBack mais ça m'affiche que la commande n'est pas disponible poour le moment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Set ctlboite = CreateControl("frm_tableau", acRectangle, , "", "", _ entDonnéeX, entDonnéeY) ctlboite.name = name ctlboite.BackStyle = 1 ctlboite.BorderStyle = 1 ctlboite.BorderColor = "13936755" ctlboite.BackColor = "15590879" ctlboite.Width = 8400 'ctlboite.Height = nb * 1000 ctlboite.Height = hauteur 'en arrière plan ctlboite.InSelection = True DoCmd.RunCommand acCmdSendToBack
J'ai essayé de mettre le code après l'ouverture d'un formulaire.
Mais ça ne marche pas.
Savez-vous où je devrais plutot le mettre?
Merci
DoCmd.RunCommand acCmdSendToBack ne marche pas en mode pas à pas...
Dommage pour tes essais.
Argy
Juste pour info, histoire que tout le monde comprenne (et surtout moi )... Ca sert à quoi de mettre un contrôle en arrière plan en mode design ??
Quand tu construits un formulaire, tu peux très bien avoir besoin de poser certains contrôles en arrière-plan comme des Rectangle ou des Images.Envoyé par noawsen
Le mode création est le mode requis pour utiliser CreateControl.
Argy
Ahhhh... Que suis-je bête... J'avais imaginé totalement autre chose en lisant ce post...
En tout cas, MERCI !
tout d'abord tu as une très jolie pahe web argyronet! j'adore!
sinon concernant ce post j, que ce soit en pas à pas ou sans ça me met toujours la même erreur...ou peut-être ai-je mal compris ta remarque?
peux-tu me la clarifier?
Merci
Mmmm,
Bon, je viens d'ecrire ce code sur le pouce et il marche très bien donc je pense que tu as omis quelque chose...
Option Compare Database
Option Explicit
Argy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Private Sub cmdTestCreateControl_Click() Const FORM_NAME = "frmTest" Dim oCTL As Control DoCmd.OpenForm FORM_NAME, acDesign Set oCTL = CreateControl(FORM_NAME, acRectangle, , "", "", 150, 50) With oCTL .Name = "shpBack" .BackStyle = 1 .BorderStyle = 1 .BackColor = 255 .Top = 500 .Width = 3000 .Height = 2500 .InSelection = True End With DoCmd.RunCommand acCmdSendToBack Set oCTL = Nothing DoCmd.Close acForm, FORM_NAME, acSaveYes DoCmd.OpenForm FORM_NAME, acDesign Set oCTL = CreateControl(FORM_NAME, acRectangle, , "", "", 500, 25) With oCTL .Name = "shpFront" .BackStyle = 1 .BackColor = 65535 .BorderStyle = 1 .Width = 2000 .Height = 2000 .InSelection = True End With DoCmd.RunCommand acCmdBringToFront Set oCTL = Nothing DoEvents MsgBox "Terminé !" End Sub
Merci bcp argy!
j'ai rajouté doevents et ça marché!
et encore très belle page flash
Ce n'est du flash...
Content de t'avoir aidé.
Argy
Partager