Empècher modification

Le
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úlse" mais ça ne fonctionne pas,
Si quelqu'un à une idée je suis preneur.
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michel-68000
Le #4669001
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
LSteph
Le #4668911
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





JB
Le #4666891
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"
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


Boisgontier
Le #4666871
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" 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



michel-68000
Le #4666681
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.
LSteph
Le #4666641
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.




LSteph
Le #4666631
...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.




michel-68000
Le #4666621
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
JB
Le #4666611
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"
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.


LSteph
Le #4666581
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




Publicité
Poster une réponse
Anonyme