OVH Cloud OVH Cloud

Ajouter des contrôles automatiquement

20 réponses
Avatar
Jacques
Bonjour,

J'ai une ligne de contrôles : un combobox suivi de 12 textebox.
La combobox est alimentée par une table contenant des noms

Serait-il possible d'ajouter autant de lignes de contrôles qu'il n'y a de
nom
dans la table
Comment procéder ?

Si vous avez un site, un exemple ou une documentation cela serait le
bienvenu :-)


Merci de vos réponses.


Jacques

10 réponses

1 2
Avatar
Jacques \(BE\)
J'ouvre le formulaire de cette façon :

DoCmd.OpenForm "sfrmHoraire", acDesign
...

Jacques

"Raymond [mvp]" a écrit dans le message
de news:
c'est bien un sous-formulaire ? est-il chargé quand tu fais le design ?
normalement il ne devrait pas être chargé pour que ça fonctionne.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Jacques (BE)" a écrit dans le message de news:
%
| Bonjour,
|
| oui, c'est bien le nom ... :-(
|
| Jacques
|




Avatar
Raymond [mvp]
on dirait qu'il y a une erreur ailleurs, si le gestionnaire d'événement
fonctionne mal.
peux-tu mettre ici le code que tu as réellement entré ? à commencer par les
dim et en finissant par le close.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques (BE)" a écrit dans le message de news:

| J'ouvre le formulaire de cette façon :
|
| DoCmd.OpenForm "sfrmHoraire", acDesign
| ...
|
| Jacques
Avatar
Jacques
Bonjour,

Ci-dessous la fonction Ajout code qui appellée dans la fonction
AjoutControles. Voir '***********

Merci

Public Function AjoutCode(ctlcode As String)
Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long

On Error GoTo AjoutCode_Error
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
DoCmd.Close acForm, "sfrmHoraire", acSaveYes
On Error GoTo 0
Exit Function

AjoutCode_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
AjoutCode of Module modAjoutCtl"

End Function
Public Function AjoutControles()

'création contrôles
Dim Controle() As Control
Dim ctlCombo As ComboBox
Dim ctlText As TextBox
Dim i As Integer
Dim p As Integer
Dim NomDuControle As String
Dim AjoutTop As Integer
Dim AjoutLeft As Integer
Dim AjoutLeftDepart As Integer

'base de données
Dim db As Database
Dim rsPers As Recordset
Dim NbEnreg As Integer
Dim sqlPers As String

On Error GoTo AjoutControles_Error

sqlPers = "SELECT * From T01_PERS"

Set db = CurrentDb
Set rsPers = db.OpenRecordset(sqlPers)
rsPers.MoveLast
rsPers.MoveFirst
NbEnreg = rsPers.RecordCount
ReDim Controle(NbEnreg - 1)



DoCmd.OpenForm "sfrmHoraire", acDesign

AjoutTop = 0

For i = 0 To NbEnreg - 1

AjoutLeft = 0
AjoutLeftDepart = 2400

Set Controle(i) = CreateControl("sfrmHoraire", acComboBox)
Controle(i).Name = "combo_" & i
Controle(i).Left = 100
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 2150
Controle(i).ListWidth = 2835
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10

NomDuControle = "combo_" & i
'**********************************
AjoutCode (NomDuControle)
'**********************************

For p = 1 To 14
Set Controle(i) = CreateControl("sfrmHoraire", acTextBox)
Controle(i).Name = "txt_" & i & "_" & p
Controle(i).Left = AjoutLeftDepart + AjoutLeft
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 600
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10
Controle(i).InputMask = "##:##"
Controle(i).DefaultValue = "00:00"

AjoutLeftDepart = 0

AjoutLeft = 640 + Controle(i).Left
Next

AjoutTop = 300 + Controle(i).Top


rsPers.MoveNext

Next


On Error GoTo 0
Exit Function

AjoutControles_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
AjoutControles of Module modAjoutCtl"

End Function



"Raymond [mvp]" a écrit dans le message
de news:
on dirait qu'il y a une erreur ailleurs, si le gestionnaire d'événement
fonctionne mal.
peux-tu mettre ici le code que tu as réellement entré ? à commencer par
les

dim et en finissant par le close.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0

-bce47c8e0d99


"Jacques (BE)" a écrit dans le message de news:

| J'ouvre le formulaire de cette façon :
|
| DoCmd.OpenForm "sfrmHoraire", acDesign
| ...
|
| Jacques




Avatar
Jacques
Bonjour,

Ci-dessous la fonctionAjoutCode qui appelleé dans la fonction AjoutControles
(Voir '*********)

Merci

Jacques


Public Function AjoutCode(ctlcode As String)
Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long

On Error GoTo AjoutCode_Error
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
DoCmd.Close acForm, "sfrmHoraire", acSaveYes
On Error GoTo 0
Exit Function

AjoutCode_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
AjoutCode of Module modAjoutCtl"

End Function

Public Function AjoutControles()

'création contrôles
Dim Controle() As Control
Dim ctlCombo As ComboBox
Dim ctlText As TextBox
Dim i As Integer
Dim p As Integer
Dim NomDuControle As String
Dim AjoutTop As Integer
Dim AjoutLeft As Integer
Dim AjoutLeftDepart As Integer

'base de données
Dim db As Database
Dim rsPers As Recordset
Dim NbEnreg As Integer
Dim sqlPers As String

On Error GoTo AjoutControles_Error

sqlPers = "SELECT * From T01_PERS"

Set db = CurrentDb
Set rsPers = db.OpenRecordset(sqlPers)
rsPers.MoveLast
rsPers.MoveFirst
NbEnreg = rsPers.RecordCount
ReDim Controle(NbEnreg - 1)



DoCmd.OpenForm "sfrmHoraire", acDesign

AjoutTop = 0

For i = 0 To NbEnreg - 1

AjoutLeft = 0
AjoutLeftDepart = 2400

Set Controle(i) = CreateControl("sfrmHoraire", acComboBox)
Controle(i).Name = "combo_" & i
Controle(i).Left = 100
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 2150
Controle(i).ListWidth = 2835
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10

NomDuControle = "combo_" & i
"**********************************
AjoutCode (NomDuControle)
"**********************************
For p = 1 To 14
Set Controle(i) = CreateControl("sfrmHoraire", acTextBox)
Controle(i).Name = "txt_" & i & "_" & p
Controle(i).Left = AjoutLeftDepart + AjoutLeft
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 600
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10
Controle(i).InputMask = "##:##"
Controle(i).DefaultValue = "00:00"

AjoutLeftDepart = 0

AjoutLeft = 640 + Controle(i).Left
Next

AjoutTop = 300 + Controle(i).Top


rsPers.MoveNext

Next

On Error GoTo 0
Exit Function

AjoutControles_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
AjoutControles of Module modAjoutCtl"

End Function

"Raymond [mvp]" a écrit dans le message
de news:
on dirait qu'il y a une erreur ailleurs, si le gestionnaire d'événement
fonctionne mal.
peux-tu mettre ici le code que tu as réellement entré ? à commencer par
les

dim et en finissant par le close.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0

-bce47c8e0d99


"Jacques (BE)" a écrit dans le message de news:

| J'ouvre le formulaire de cette façon :
|
| DoCmd.OpenForm "sfrmHoraire", acDesign
| ...
|
| Jacques




Avatar
Jacques
Petite précision
dans la fonction AjoutCode remettre ctlcode à la place de combo_0 à la ligne
"lngRetour = ..."

"Jacques" a écrit dans le message de news:

Bonjour,

Ci-dessous la fonctionAjoutCode qui appelleé dans la fonction
AjoutControles

(Voir '*********)

Merci

Jacques


Public Function AjoutCode(ctlcode As String)
Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long

On Error GoTo AjoutCode_Error
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
DoCmd.Close acForm, "sfrmHoraire", acSaveYes
On Error GoTo 0
Exit Function

AjoutCode_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure

AjoutCode of Module modAjoutCtl"

End Function

Public Function AjoutControles()

'création contrôles
Dim Controle() As Control
Dim ctlCombo As ComboBox
Dim ctlText As TextBox
Dim i As Integer
Dim p As Integer
Dim NomDuControle As String
Dim AjoutTop As Integer
Dim AjoutLeft As Integer
Dim AjoutLeftDepart As Integer

'base de données
Dim db As Database
Dim rsPers As Recordset
Dim NbEnreg As Integer
Dim sqlPers As String

On Error GoTo AjoutControles_Error

sqlPers = "SELECT * From T01_PERS"

Set db = CurrentDb
Set rsPers = db.OpenRecordset(sqlPers)
rsPers.MoveLast
rsPers.MoveFirst
NbEnreg = rsPers.RecordCount
ReDim Controle(NbEnreg - 1)



DoCmd.OpenForm "sfrmHoraire", acDesign

AjoutTop = 0

For i = 0 To NbEnreg - 1

AjoutLeft = 0
AjoutLeftDepart = 2400

Set Controle(i) = CreateControl("sfrmHoraire", acComboBox)
Controle(i).Name = "combo_" & i
Controle(i).Left = 100
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 2150
Controle(i).ListWidth = 2835
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10

NomDuControle = "combo_" & i
"**********************************
AjoutCode (NomDuControle)
"**********************************
For p = 1 To 14
Set Controle(i) = CreateControl("sfrmHoraire", acTextBox)
Controle(i).Name = "txt_" & i & "_" & p
Controle(i).Left = AjoutLeftDepart + AjoutLeft
Controle(i).Top = 200 + AjoutTop
Controle(i).Width = 600
Controle(i).Height = 230
Controle(i).FontName = "Verdana"
Controle(i).FontSize = 10
Controle(i).InputMask = "##:##"
Controle(i).DefaultValue = "00:00"

AjoutLeftDepart = 0

AjoutLeft = 640 + Controle(i).Left
Next

AjoutTop = 300 + Controle(i).Top


rsPers.MoveNext

Next

On Error GoTo 0
Exit Function

AjoutControles_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure

AjoutControles of Module modAjoutCtl"

End Function

"Raymond [mvp]" a écrit dans le
message

de news:
on dirait qu'il y a une erreur ailleurs, si le gestionnaire d'événement
fonctionne mal.
peux-tu mettre ici le code que tu as réellement entré ? à commencer par
les

dim et en finissant par le close.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances



http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0

-bce47c8e0d99


"Jacques (BE)" a écrit dans le message de news:

| J'ouvre le formulaire de cette façon :
|
| DoCmd.OpenForm "sfrmHoraire", acDesign
| ...
|
| Jacques








Avatar
Raymond [mvp]
Bonjour.

je ne peux pas tester, mais:
DoCmd.Close acForm, "sfrmHoraire", acSaveYes
ne peut pas se trouver dans la procédure AjoutCode, vu qu'elle est appelée à
chaque création de contrôle, mais doit se trouver en fin de procédure
AjoutControles, comme le openform est en début de AjoutControles.

si tu as toujours le même problème passe-moi ta base dans un fichier zip par
mail, en prenantb l'adresse dans mes messages et en enlevant les xyz de
protection.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" a écrit dans le message de news:

| Petite précision
| dans la fonction AjoutCode remettre ctlcode à la place de combo_0 à la
ligne
| "lngRetour = ..."
|
| "Jacques" a écrit dans le message de news:
|
| > Bonjour,
| >
| > Ci-dessous la fonctionAjoutCode qui appelleé dans la fonction
| AjoutControles
| > (Voir '*********)
| >
| > Merci
| >
| > Jacques
| >
| >
| > Public Function AjoutCode(ctlcode As String)
| > Dim mdl As Module
| > Dim frm As Form
| > Dim lngRetour As Long
| >
| > On Error GoTo AjoutCode_Error
| > Set frm = Forms("sfrmHoraire")
| > Set mdl = frm.Module
| > lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| > mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
| > DoCmd.Close acForm, "sfrmHoraire", acSaveYes
| > On Error GoTo 0
| > Exit Function
| >
| > AjoutCode_Error:
| >
| > MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > AjoutCode of Module modAjoutCtl"
| >
| > End Function
| >
| > Public Function AjoutControles()
| >
| > 'création contrôles
| > Dim Controle() As Control
| > Dim ctlCombo As ComboBox
| > Dim ctlText As TextBox
| > Dim i As Integer
| > Dim p As Integer
| > Dim NomDuControle As String
| > Dim AjoutTop As Integer
| > Dim AjoutLeft As Integer
| > Dim AjoutLeftDepart As Integer
| >
| > 'base de données
| > Dim db As Database
| > Dim rsPers As Recordset
| > Dim NbEnreg As Integer
| > Dim sqlPers As String
| >
| > On Error GoTo AjoutControles_Error
| >
| > sqlPers = "SELECT * From T01_PERS"
| >
| > Set db = CurrentDb
| > Set rsPers = db.OpenRecordset(sqlPers)
| > rsPers.MoveLast
| > rsPers.MoveFirst
| > NbEnreg = rsPers.RecordCount
| > ReDim Controle(NbEnreg - 1)
| >
| >
| >
| > DoCmd.OpenForm "sfrmHoraire", acDesign
| >
| > AjoutTop = 0
| >
| > For i = 0 To NbEnreg - 1
| >
| > AjoutLeft = 0
| > AjoutLeftDepart = 2400
| >
| > Set Controle(i) = CreateControl("sfrmHoraire", acComboBox)
| > Controle(i).Name = "combo_" & i
| > Controle(i).Left = 100
| > Controle(i).Top = 200 + AjoutTop
| > Controle(i).Width = 2150
| > Controle(i).ListWidth = 2835
| > Controle(i).Height = 230
| > Controle(i).FontName = "Verdana"
| > Controle(i).FontSize = 10
| >
| > NomDuControle = "combo_" & i
| > "**********************************
| > AjoutCode (NomDuControle)
| > "**********************************
| > For p = 1 To 14
| > Set Controle(i) = CreateControl("sfrmHoraire", acTextBox)
| > Controle(i).Name = "txt_" & i & "_" & p
| > Controle(i).Left = AjoutLeftDepart + AjoutLeft
| > Controle(i).Top = 200 + AjoutTop
| > Controle(i).Width = 600
| > Controle(i).Height = 230
| > Controle(i).FontName = "Verdana"
| > Controle(i).FontSize = 10
| > Controle(i).InputMask = "##:##"
| > Controle(i).DefaultValue = "00:00"
| >
| > AjoutLeftDepart = 0
| >
| > AjoutLeft = 640 + Controle(i).Left
| > Next
| >
| > AjoutTop = 300 + Controle(i).Top
| >
| >
| > rsPers.MoveNext
| >
| > Next
| >
| > On Error GoTo 0
| > Exit Function
| >
| > AjoutControles_Error:
| >
| > MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > AjoutControles of Module modAjoutCtl"
| >
| > End Function
| >
| > "Raymond [mvp]" a écrit dans le
| message
| > de news:
| > > on dirait qu'il y a une erreur ailleurs, si le gestionnaire
d'événement
| > > fonctionne mal.
| > > peux-tu mettre ici le code que tu as réellement entré ? à commencer
par
| > les
| > > dim et en finissant par le close.
| > >
| > > --
| > > @+
| > > Raymond Access MVP http://www.OfficeSystemAccess.com/
| > > http://officesystem.access.over-blog.com/
| > > Pour débuter sur le forum: http://www.mpfa.info/
| > >
| > > Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
| > >
| >
|
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
| > -bce47c8e0d99
| > >
| > >
| > > "Jacques (BE)" a écrit dans le message de news:
| > >
| > > | J'ouvre le formulaire de cette façon :
| > > |
| > > | DoCmd.OpenForm "sfrmHoraire", acDesign
| > > | ...
| > > |
| > > | Jacques
| > >
| > >
| >
| >
|
|
Avatar
Jacques
Bonjour Raymond,

Il semblerait que cela fonctionne !! :-)
Je n'ai quasi rien changé au code j'ai déplacé la fonction AjoutCode dans un
autre module et cela fonctionne. Le plus étonnant, c'est que je l'ai ramenée
où elle était et cela continue de fonctionner !?
Mystère et boule de gomme :-)

Si tu veux je peux quand même t'envoyer la bd, je suis sûr de ta discretion.

Il me reste cependant une petite affiare qui m'énerve, après l'écriture du
code l'éditeur s'ouvre sur la page dans laquelle le code a été écrit alors
que je ferme mon formulaire.

Est-il possible de rendre l'éditeur (VBE?) invisible ??

Merci encore pour tes conseils

Jacques

"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

je ne peux pas tester, mais:
DoCmd.Close acForm, "sfrmHoraire", acSaveYes
ne peut pas se trouver dans la procédure AjoutCode, vu qu'elle est appelée
à

chaque création de contrôle, mais doit se trouver en fin de procédure
AjoutControles, comme le openform est en début de AjoutControles.

si tu as toujours le même problème passe-moi ta base dans un fichier zip
par

mail, en prenantb l'adresse dans mes messages et en enlevant les xyz de
protection.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0

-bce47c8e0d99


"Jacques" a écrit dans le message de news:

| Petite précision
| dans la fonction AjoutCode remettre ctlcode à la place de combo_0 à la
ligne
| "lngRetour = ..."
|
| "Jacques" a écrit dans le message de news:
|
| > Bonjour,
| >
| > Ci-dessous la fonctionAjoutCode qui appelleé dans la fonction
| AjoutControles
| > (Voir '*********)
| >
| > Merci
| >
| > Jacques
| >
| >
| > Public Function AjoutCode(ctlcode As String)
| > Dim mdl As Module
| > Dim frm As Form
| > Dim lngRetour As Long
| >
| > On Error GoTo AjoutCode_Error
| > Set frm = Forms("sfrmHoraire")
| > Set mdl = frm.Module
| > lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| > mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
| > DoCmd.Close acForm, "sfrmHoraire", acSaveYes
| > On Error GoTo 0
| > Exit Function
| >
| > AjoutCode_Error:
| >
| > MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > AjoutCode of Module modAjoutCtl"
| >
| > End Function
| >
| > Public Function AjoutControles()
| >
| > 'création contrôles
| > Dim Controle() As Control
| > Dim ctlCombo As ComboBox
| > Dim ctlText As TextBox
| > Dim i As Integer
| > Dim p As Integer
| > Dim NomDuControle As String
| > Dim AjoutTop As Integer
| > Dim AjoutLeft As Integer
| > Dim AjoutLeftDepart As Integer
| >
| > 'base de données
| > Dim db As Database
| > Dim rsPers As Recordset
| > Dim NbEnreg As Integer
| > Dim sqlPers As String
| >
| > On Error GoTo AjoutControles_Error
| >
| > sqlPers = "SELECT * From T01_PERS"
| >
| > Set db = CurrentDb
| > Set rsPers = db.OpenRecordset(sqlPers)
| > rsPers.MoveLast
| > rsPers.MoveFirst
| > NbEnreg = rsPers.RecordCount
| > ReDim Controle(NbEnreg - 1)
| >
| >
| >
| > DoCmd.OpenForm "sfrmHoraire", acDesign
| >
| > AjoutTop = 0
| >
| > For i = 0 To NbEnreg - 1
| >
| > AjoutLeft = 0
| > AjoutLeftDepart = 2400
| >
| > Set Controle(i) = CreateControl("sfrmHoraire", acComboBox)
| > Controle(i).Name = "combo_" & i
| > Controle(i).Left = 100
| > Controle(i).Top = 200 + AjoutTop
| > Controle(i).Width = 2150
| > Controle(i).ListWidth = 2835
| > Controle(i).Height = 230
| > Controle(i).FontName = "Verdana"
| > Controle(i).FontSize = 10
| >
| > NomDuControle = "combo_" & i
| > "**********************************
| > AjoutCode (NomDuControle)
| > "**********************************
| > For p = 1 To 14
| > Set Controle(i) = CreateControl("sfrmHoraire", acTextBox)
| > Controle(i).Name = "txt_" & i & "_" & p
| > Controle(i).Left = AjoutLeftDepart + AjoutLeft
| > Controle(i).Top = 200 + AjoutTop
| > Controle(i).Width = 600
| > Controle(i).Height = 230
| > Controle(i).FontName = "Verdana"
| > Controle(i).FontSize = 10
| > Controle(i).InputMask = "##:##"
| > Controle(i).DefaultValue = "00:00"
| >
| > AjoutLeftDepart = 0
| >
| > AjoutLeft = 640 + Controle(i).Left
| > Next
| >
| > AjoutTop = 300 + Controle(i).Top
| >
| >
| > rsPers.MoveNext
| >
| > Next
| >
| > On Error GoTo 0
| > Exit Function
| >
| > AjoutControles_Error:
| >
| > MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > AjoutControles of Module modAjoutCtl"
| >
| > End Function
| >
| > "Raymond [mvp]" a écrit dans le
| message
| > de news:
| > > on dirait qu'il y a une erreur ailleurs, si le gestionnaire
d'événement
| > > fonctionne mal.
| > > peux-tu mettre ici le code que tu as réellement entré ? à commencer
par
| > les
| > > dim et en finissant par le close.
| > >
| > > --
| > > @+
| > > Raymond Access MVP http://www.OfficeSystemAccess.com/
| > > http://officesystem.access.over-blog.com/
| > > Pour débuter sur le forum: http://www.mpfa.info/
| > >
| > > Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
| > >
| >
|

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0

| > -bce47c8e0d99
| > >
| > >
| > > "Jacques (BE)" a écrit dans le message de news:
| > >
| > > | J'ouvre le formulaire de cette façon :
| > > |
| > > | DoCmd.OpenForm "sfrmHoraire", acDesign
| > > | ...
| > > |
| > > | Jacques
| > >
| > >
| >
| >
|
|




Avatar
Raymond [mvp]
Bonjour.

il ne faut pas rendre l'éditeur invisible mais supprimer l'erreur
simplement.
passe moi ta base, mais ne laisse que quelques enregistrements dans les
tables, je la détruirai après.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" a écrit dans le message de news:
%
| Bonjour Raymond,
|
| Il semblerait que cela fonctionne !! :-)
| Je n'ai quasi rien changé au code j'ai déplacé la fonction AjoutCode dans
un
| autre module et cela fonctionne. Le plus étonnant, c'est que je l'ai
ramenée
| où elle était et cela continue de fonctionner !?
| Mystère et boule de gomme :-)
|
| Si tu veux je peux quand même t'envoyer la bd, je suis sûr de ta
discretion.
|
| Il me reste cependant une petite affiare qui m'énerve, après l'écriture du
| code l'éditeur s'ouvre sur la page dans laquelle le code a été écrit alors
| que je ferme mon formulaire.
|
| Est-il possible de rendre l'éditeur (VBE?) invisible ??
|
| Merci encore pour tes conseils
|
| Jacques
|
Avatar
Raymond [mvp]
message envoyé par mail à 13:40

Modifs à faire dans le module modAjoutCtl :

Controle(i).FontSize = 10
Controle(i).RowSource = "SELECT T01_PERS.ID_PERS, T01_PERS.NM,
T01_PERS.PNM FROM T01_PERS ORDER BY [NM] DESC;"
Controle(i).ColumnCount = 4
Controle(i).ColumnWidths = "0;;;"
NomDuControle = "combo_" & i

Revoir le select éventuellement, je ne sais pas ce que tu veux mettre
dedans, et voir aussi le nombre de colonnes et leur largeur.

Modif à faire dans le même module (cause de #NOM dans l’erreur) :

Controle(i).InputMask = "##:##"
Controle(i).DefaultValue = """00:00"""

00:00 n’est pas une heure valide, donc il faut l’indiquer entre guillemets

Pour les modules, si ça marche c’est bien, mais ce n’est pas normal de
passer par un fichier externe pour remplir le code. Je regarderai un peu
plus tard si je peux faire quelque chose.

Ps : je détruis ta base.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Raymond [mvp]" a écrit dans le message
de news: Ovxl5%
| Bonjour.
|
| il ne faut pas rendre l'éditeur invisible mais supprimer l'erreur
| simplement.
| passe moi ta base, mais ne laisse que quelques enregistrements dans les
| tables, je la détruirai après.
|
Avatar
Jacques \(BE\)
Bonjour Raymond,

Merci pour tes conseils, je regarde cela de suite ... !
Je te redonne des nouvelles :-)

Jacques


"Raymond [mvp]" a écrit dans le message
de news:
message envoyé par mail à 13:40

Modifs à faire dans le module modAjoutCtl :

Controle(i).FontSize = 10
Controle(i).RowSource = "SELECT T01_PERS.ID_PERS, T01_PERS.NM,
T01_PERS.PNM FROM T01_PERS ORDER BY [NM] DESC;"
Controle(i).ColumnCount = 4
Controle(i).ColumnWidths = "0;;;"
NomDuControle = "combo_" & i

Revoir le select éventuellement, je ne sais pas ce que tu veux mettre
dedans, et voir aussi le nombre de colonnes et leur largeur.

Modif à faire dans le même module (cause de #NOM dans l'erreur) :

Controle(i).InputMask = "##:##"
Controle(i).DefaultValue = """00:00"""

00:00 n'est pas une heure valide, donc il faut l'indiquer entre guillemets

Pour les modules, si ça marche c'est bien, mais ce n'est pas normal de
passer par un fichier externe pour remplir le code. Je regarderai un peu
plus tard si je peux faire quelque chose.

Ps : je détruis ta base.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Raymond [mvp]" a écrit dans le
message

de news: Ovxl5%
| Bonjour.
|
| il ne faut pas rendre l'éditeur invisible mais supprimer l'erreur
| simplement.
| passe moi ta base, mais ne laisse que quelques enregistrements dans les
| tables, je la détruirai après.
|




1 2