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

Empècher modification

14 réponses
Avatar
michel-68000
Bonsoir,
Je cherche une commande vba que je pourrais ajouter à mon code d'user qui ne
permettrait pas à
l'utilisateur de changer les données dans les textbox et les combobox.
J'ai essayé "UserForm.enabled=false" mais ça ne fonctionne pas,
Si quelqu'un à une idée je suis preneur.
Merci

10 réponses

1 2
Avatar
michel-68000
C'est bon j'ai trouvé mais n'est t'il pas possible de sélectionner tous les
controles d'un userform(Textbox,combobox et boutons) en une fois?
Merci pour votre aide
Avatar
LSteph
Bonsoir,

C'est bon j'ai trouvé



Ce que tu as trouvé correspond sans doute à la question mais qui n'est
pas assez claire pour ma compréhension
Si les textbox et combobox doivent rester figés, pourquoi ne pas
utiliser des labels et fixer leur contenu à l'affichage du userform?
'....
for i=1 to 5
me.controls("Label"&i)=[a1:e1].cells(i)
next
'....
...mais n'est t'il pas possible de sélectionner tous les
controles d'un userform(Textbox,combobox et boutons) en une fois?



Dans quel contexte, "sélectionner" qu'entends-tu par là et que veux tu
faire?


Cordialement.

lSteph





C'est bon j'ai trouvé mais n'est t'il pas possible de sélectionner tous les
controles d'un userform(Textbox,combobox et boutons) en une fois?
Merci pour votre aide


Bonsoir,
Je cherche une commande vba que je pourrais ajouter à mon code d'user qui ne
permettrait pas à
l'utilisateur de changer les données dans les textbox et les combobox.
J'ai essayé "UserForm.enabledúlse" mais ça ne fonctionne pas,
Si quelqu'un à une idée je suis preneur.
Merci





Avatar
JB
Bonsoir,

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "ListBox", "ComboBox", "TextBox"
c.Enabled = False
End Select
Next c

JB



On 24 août, 19:49, "michel-68000" wrote:
Bonsoir,
Je cherche une commande vba que je pourrais ajouter à mon code d'user q ui ne
permettrait pas à
l'utilisateur de changer les données dans les textbox et les combobox.
J'ai essayé "UserForm.enabledúlse" mais ça ne fonctionne pas,
Si quelqu'un à une idée je suis preneur.
Merci


Avatar
Boisgontier
Bonsoir,

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "ListBox", "ComboBox", "TextBox"
c.Enabled = False
End Select
Next c

JB


"michel-68000" a écrit dans le message de news:
46cf1a35$0$13867$
Bonsoir,
Je cherche une commande vba que je pourrais ajouter à mon code d'user qui
ne permettrait pas à
l'utilisateur de changer les données dans les textbox et les combobox.
J'ai essayé "UserForm.enabledúlse" mais ça ne fonctionne pas,
Si quelqu'un à une idée je suis preneur.
Merci



Avatar
michel-68000
Bonjour,
Je crois que je vous ai mal expliquer ce que je voulais.
Dans mon user je compare la date sélectionnée dans un calendar, si celle ci
est inférieur à aujourd'hui
les controles de l'user sont à enbledúlse sinon enabled=true

Private Sub UserForm_Initialize()
DateCb = Sheets("index").Calendar1.Value

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "combobox", "textbox"
If DateCb >= "24/08/2007" Then
c.Enabled = True
Else
c.Enabled = False
End If
End Select
Next c
End Sub

Je pense que c'est au niveau de l'évènement que j'ai fait une faute, excel
ne me donne aucuns
message d'erreur seulement les controles sont toujours à enabled=true
quelque soit la date sélectionnée dans le calendar de la feuille index.
Merci pour vos idées.
Avatar
LSteph
Bonjour,

Attention!

1-à la casse
ComboBox et non combobox
TextBox et non textbox

2-au format de date pour faire la comparaison
plutôt qu'avec du texte

Private Sub UserForm_Initialize()

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "ComboBox", "TextBox"
If Feuil1.Calendar1 >= #8/26/2007# Then
c.Enabled = True
Else
c.Enabled = False
End If
End Select
Next c
End Sub

'Cordialement.

'lSteph

Bonjour,
Je crois que je vous ai mal expliquer ce que je voulais.
Dans mon user je compare la date sélectionnée dans un calendar, si celle ci
est inférieur à aujourd'hui
les controles de l'user sont à enbledúlse sinon enabled=true

Private Sub UserForm_Initialize()
DateCb = Sheets("index").Calendar1.Value

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "combobox", "textbox"
If DateCb >= "24/08/2007" Then
c.Enabled = True
Else
c.Enabled = False
End If
End Select
Next c
End Sub

Je pense que c'est au niveau de l'évènement que j'ai fait une faute, excel
ne me donne aucuns
message d'erreur seulement les controles sont toujours à enabled=true
quelque soit la date sélectionnée dans le calendar de la feuille index.
Merci pour vos idées.




Avatar
LSteph
...ou encore plus simplement:

Private Sub UserForm_Initialize()
Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "ComboBox", "TextBox"
c.Enabled = Feuil1.Calendar1 >= #8/26/2007#
End Select
Next c
End Sub

'lSteph

Bonjour,
Je crois que je vous ai mal expliquer ce que je voulais.
Dans mon user je compare la date sélectionnée dans un calendar, si celle ci
est inférieur à aujourd'hui
les controles de l'user sont à enbledúlse sinon enabled=true

Private Sub UserForm_Initialize()
DateCb = Sheets("index").Calendar1.Value

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "combobox", "textbox"
If DateCb >= "24/08/2007" Then
c.Enabled = True
Else
c.Enabled = False
End If
End Select
Next c
End Sub

Je pense que c'est au niveau de l'évènement que j'ai fait une faute, excel
ne me donne aucuns
message d'erreur seulement les controles sont toujours à enabled=true
quelque soit la date sélectionnée dans le calendar de la feuille index.
Merci pour vos idées.




Avatar
michel-68000
Bonjour,

Ton code est bon il fait ce qu'on lui demande le seul blème c'est la date
d'aujourd'hui
ne peut on mettre à la place de #8/25/2007# une instruction comme date ou
today
pour que la date saisie dans le calendar soit comparée avec celle du systeme
a l'heure
ou la manip se fait?
Merci pour ton aide
Avatar
JB
Bonjour,

Private Sub UserForm_Initialize()
For Each c In Me.Controls
Select Case TypeName(c)
Case "ComboBox", "TextBox"
c.Enabled = Feuil1.Calendar1 >= Date
End Select
Next c
End Sub

JB


On 25 août, 09:56, "michel-68000" wrote:
Bonjour,
Je crois que je vous ai mal expliquer ce que je voulais.
Dans mon user je compare la date sélectionnée dans un calendar, si ce lle ci
est inférieur à aujourd'hui
les controles de l'user sont à enbledúlse sinon enabled=true

Private Sub UserForm_Initialize()
DateCb = Sheets("index").Calendar1.Value

Dim c As Control
For Each c In Me.Controls
Select Case TypeName(c)
Case "combobox", "textbox"
If DateCb >= "24/08/2007" Then
c.Enabled = True
Else
c.Enabled = False
End If
End Select
Next c
End Sub

Je pense que c'est au niveau de l'évènement que j'ai fait une faute, excel
ne me donne aucuns
message d'erreur seulement les controles sont toujours à enabled=true
quelque soit la date sélectionnée dans le calendar de la feuille inde x.
Merci pour vos idées.


Avatar
LSteph
oui tu mets: Date

Prends mon second code il est plus concis

Cordialement.

lSteph
Bonjour,

Ton code est bon il fait ce qu'on lui demande le seul blème c'est la date
d'aujourd'hui
ne peut on mettre à la place de #8/25/2007# une instruction comme date ou
today
pour que la date saisie dans le calendar soit comparée avec celle du systeme
a l'heure
ou la manip se fait?
Merci pour ton aide




1 2