Autorisation de saisie

Le
JulieH
Bonjour,

Comme je vois qu'aujourd'hui, mon accès au forum semble fonctionner, je
reviens sur une de mes questions précédentes. En effet, certains de mes
mails (nouvelle question suite à réponse) n'apparaissent même pas dans
les archives de Google. Excusez-moi si ce n'est pas la première fois que
vous voyez ce problème.

Ce que je souhaitais faire :
- Feuill1 => Liste autorisée.
- Feuill2 => Saisie.

La solution qui m'intéresse m'a été fournie par JB et correspond au
code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
If IsError(Application.Match(Target, [maliste], 0)) Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

Malgré tous mes essais, je n'arrive pas exactement au résultat
souhaité. Ce que je souhaite améliorer :
- La liste de saisie doit être sensible à la casse et refuser si les
initiales saisies sont en minuscules alors que celles autorisées sont en
majuscules (ou vice versa - parfois même il peut y avoir majuscule et
minuscule mélangées).

Merci de me dire même si c'est impossible.

Julie
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4645291
ReBonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If Not témoin Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
Target.Select
End If
End If
End Sub

JB

On 1 août, 14:26, JulieH
Bonjour,

Comme je vois qu'aujourd'hui, mon accès au forum semble fonctio nner, je
reviens sur une de mes questions précédentes. En effet, certains de m es
mails (nouvelle question suite à réponse) n'apparaissent même pas d ans
les archives de Google. Excusez-moi si ce n'est pas la première fois que
vous voyez ce problème.

Ce que je souhaitais faire :
- Feuill1 => Liste autorisée.
- Feuill2 => Saisie.

La solution qui m'intéresse m'a été fournie par JB et corre spond au
code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
If IsError(Application.Match(Target, [maliste], 0)) Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

Malgré tous mes essais, je n'arrive pas exactement au résultat
souhaité. Ce que je souhaite améliorer :
- La liste de saisie doit être sensible à la casse et refuser si les
initiales saisies sont en minuscules alors que celles autorisées sont en
majuscules (ou vice versa - parfois même il peut y avoir majuscule et
minuscule mélangées).

Merci de me dire même si c'est impossible.

Julie


JulieH
Le #4645261
Merci, cela fonctionne parfaitement.

Si tu peux m'expliquer d'où sort ce "témoin" et comment cela fonctionne ?

Julie

ReBonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If Not témoin Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
Target.Select
End If
End If
End Sub

JB

On 1 août, 14:26, JulieH
Bonjour,

Comme je vois qu'aujourd'hui, mon accès au forum semble fonctionner, je
reviens sur une de mes questions précédentes. En effet, certains de mes
mails (nouvelle question suite à réponse) n'apparaissent même pas dans
les archives de Google. Excusez-moi si ce n'est pas la première fois que
vous voyez ce problème.

Ce que je souhaitais faire :
- Feuill1 => Liste autorisée.
- Feuill2 => Saisie.

La solution qui m'intéresse m'a été fournie par JB et correspond au
code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
If IsError(Application.Match(Target, [maliste], 0)) Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

Malgré tous mes essais, je n'arrive pas exactement au résultat
souhaité. Ce que je souhaite améliorer :
- La liste de saisie doit être sensible à la casse et refuser si les
initiales saisies sont en minuscules alors que celles autorisées sont en
majuscules (ou vice versa - parfois même il peut y avoir majuscule et
minuscule mélangées).

Merci de me dire même si c'est impossible.

Julie






JB
Le #4645231
-On compare chaque élément de [maliste] avec la valeur frappée.
-S'il y a égalité, on affecte à témoin la valeur True.
-Si aucun élément n'est égal a Target, témoin sera égal à False

témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If témoinúlse Then
Msgbox "Erreur"
End if

JB

On 1 août, 16:35, JulieH
Merci, cela fonctionne parfaitement.

Si tu peux m'expliquer d'où sort ce "témoin" et comment cela fonction ne ?

Julie




ReBonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If Not témoin Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
Target.Select
End If
End If
End Sub

JB

On 1 août, 14:26, JulieH
Bonjour,

Comme je vois qu'aujourd'hui, mon accès au forum semble fonc tionner, je
reviens sur une de mes questions précédentes. En effet, certains d e mes
mails (nouvelle question suite à réponse) n'apparaissent même pa s dans
les archives de Google. Excusez-moi si ce n'est pas la première fois que
vous voyez ce problème.

Ce que je souhaitais faire :
- Feuill1 => Liste autorisée.
- Feuill2 => Saisie.

La solution qui m'intéresse m'a été fournie par JB et co rrespond au
code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
If IsError(Application.Match(Target, [maliste], 0)) Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

Malgré tous mes essais, je n'arrive pas exactement au résu ltat
souhaité. Ce que je souhaite améliorer :
- La liste de saisie doit être sensible à la casse et refuser si l es
initiales saisies sont en minuscules alors que celles autorisées son t en
majuscules (ou vice versa - parfois même il peut y avoir majuscule et
minuscule mélangées).

Merci de me dire même si c'est impossible.

Julie- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




JulieH
Le #4645221
A nouveau, merci.

Julie

-On compare chaque élément de [maliste] avec la valeur frappée.
-S'il y a égalité, on affecte à témoin la valeur True.
-Si aucun élément n'est égal a Target, témoin sera égal à False

témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If témoinúlse Then
Msgbox "Erreur"
End if

JB

On 1 août, 16:35, JulieH
Merci, cela fonctionne parfaitement.

Si tu peux m'expliquer d'où sort ce "témoin" et comment cela fonctionne ?

Julie




ReBonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
témoin = False
For Each c In [maliste]
If Target = c Then témoin = True
Next c
If Not témoin Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
Target.Select
End If
End If
End Sub
JB
On 1 août, 14:26, JulieH
Bonjour,
Comme je vois qu'aujourd'hui, mon accès au forum semble fonctionner, je
reviens sur une de mes questions précédentes. En effet, certains de mes
mails (nouvelle question suite à réponse) n'apparaissent même pas dans
les archives de Google. Excusez-moi si ce n'est pas la première fois que
vous voyez ce problème.
Ce que je souhaitais faire :
- Feuill1 => Liste autorisée.
- Feuill2 => Saisie.
La solution qui m'intéresse m'a été fournie par JB et correspond au
code suivant :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 And Target <> "" Then
If IsError(Application.Match(Target, [maliste], 0)) Then
MsgBox "Erreur"
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub
Malgré tous mes essais, je n'arrive pas exactement au résultat
souhaité. Ce que je souhaite améliorer :
- La liste de saisie doit être sensible à la casse et refuser si les
initiales saisies sont en minuscules alors que celles autorisées sont en
majuscules (ou vice versa - parfois même il peut y avoir majuscule et
minuscule mélangées).
Merci de me dire même si c'est impossible.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










Publicité
Poster une réponse
Anonyme