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

Excel 2003 - Alerte sur une erreur de saisie numérique

9 réponses
Avatar
Alain
Bonjour,
Ayant déjà par trois fois trouvé une assistance efficace auprès des
participants à ce groupe de discussions, je viens à nouveau solliciter la
créativité et la réactivité des lecteurs-acteurs de ce forum pour le problème
suivant qui est sans doute assez facile à résoudre mais sur lequel je bute
péniblement :
Je résume mon pb à l'essentiel.
Dans une application de gestion des résultats d'un tournoi de bridge, j'ai
un fichier Excel 2003 comportant deux feuilles ; dans l'une des deux, se
trouve un tableau de valeurs numériques ; dans l'autre, je dois effectuer des
saisies qui ne peuvent prendre comme valeur que celles figurant dans la
première feuille à l'exclusion de toute autre.
Je cherche à trouver le module macro (à insérer dans une macro plus générale
qui gère mes saisies) qui empêche une saisie erronée et affiche une alerte
visuelle et/ou sonore en cas d'erreur.
Merci d'avance pour les suggestions.

9 réponses

Avatar
claudy
bonjour,
Va voir du côté de la MFC....
et du côté de mon classeur joint..
http://cjoint.com/?cBjgypdDDH
A+
Claudy
"Alain" a écrit dans le message de news:

Bonjour,
Ayant déjà par trois fois trouvé une assistance efficace auprès des
participants à ce groupe de discussions, je viens à nouveau solliciter la
créativité et la réactivité des lecteurs-acteurs de ce forum pour le
problème
suivant qui est sans doute assez facile à résoudre mais sur lequel je bute
péniblement :
Je résume mon pb à l'essentiel.
Dans une application de gestion des résultats d'un tournoi de bridge, j'ai
un fichier Excel 2003 comportant deux feuilles ; dans l'une des deux, se
trouve un tableau de valeurs numériques ; dans l'autre, je dois effectuer
des
saisies qui ne peuvent prendre comme valeur que celles figurant dans la
première feuille à l'exclusion de toute autre.
Je cherche à trouver le module macro (à insérer dans une macro plus
générale
qui gère mes saisies) qui empêche une saisie erronée et affiche une alerte
visuelle et/ou sonore en cas d'erreur.
Merci d'avance pour les suggestions.



Avatar
AV
dans l'autre, je dois effectuer des
| saisies qui ne peuvent prendre comme valeur que celles figurant dans la

| première feuille à l'exclusion de toute autre.

Données > Validation > Liste....

AV

Avatar
Alain
Merci Claudy de la réponse.

J'aurais besoin de quelques explications complémentaires car je ne comprends
pas la manière dont ça fonctionne ; MFC ?

A+


bonjour,
Va voir du côté de la MFC....
et du côté de mon classeur joint..
http://cjoint.com/?cBjgypdDDH
A+
Claudy
"Alain" a écrit dans le message de news:

Bonjour,
Ayant déjà par trois fois trouvé une assistance efficace auprès des
participants à ce groupe de discussions, je viens à nouveau solliciter la
créativité et la réactivité des lecteurs-acteurs de ce forum pour le
problème
suivant qui est sans doute assez facile à résoudre mais sur lequel je bute
péniblement :
Je résume mon pb à l'essentiel.
Dans une application de gestion des résultats d'un tournoi de bridge, j'ai
un fichier Excel 2003 comportant deux feuilles ; dans l'une des deux, se
trouve un tableau de valeurs numériques ; dans l'autre, je dois effectuer
des
saisies qui ne peuvent prendre comme valeur que celles figurant dans la
première feuille à l'exclusion de toute autre.
Je cherche à trouver le module macro (à insérer dans une macro plus
générale
qui gère mes saisies) qui empêche une saisie erronée et affiche une alerte
visuelle et/ou sonore en cas d'erreur.
Merci d'avance pour les suggestions.








Avatar
claudy
Salut,
MFC =Mise en Forme Conditionnelle
Via le menu Format, lorsque tu es dans la cellule qui doit changer de
couleur au cas où...
A+
claudy
"Alain" a écrit dans le message de news:

Merci Claudy de la réponse.

J'aurais besoin de quelques explications complémentaires car je ne
comprends
pas la manière dont ça fonctionne ; MFC ?

A+


bonjour,
Va voir du côté de la MFC....
et du côté de mon classeur joint..
http://cjoint.com/?cBjgypdDDH
A+
Claudy
"Alain" a écrit dans le message de
news:

Bonjour,
Ayant déjà par trois fois trouvé une assistance efficace auprès des
participants à ce groupe de discussions, je viens à nouveau solliciter
la
créativité et la réactivité des lecteurs-acteurs de ce forum pour le
problème
suivant qui est sans doute assez facile à résoudre mais sur lequel je
bute
péniblement :
Je résume mon pb à l'essentiel.
Dans une application de gestion des résultats d'un tournoi de bridge,
j'ai
un fichier Excel 2003 comportant deux feuilles ; dans l'une des deux,
se
trouve un tableau de valeurs numériques ; dans l'autre, je dois
effectuer
des
saisies qui ne peuvent prendre comme valeur que celles figurant dans la
première feuille à l'exclusion de toute autre.
Je cherche à trouver le module macro (à insérer dans une macro plus
générale
qui gère mes saisies) qui empêche une saisie erronée et affiche une
alerte
visuelle et/ou sonore en cas d'erreur.
Merci d'avance pour les suggestions.










Avatar
Alain
Merci pour la suggestion.

Cependant, l'utilisation d'une liste implique que cette liste soit rangée
dans une colonne (ou ligne) unique ce qui n'est pas très pratique car mes
"valeurs fixes" se trouvent dans un tableau à 8 ou 10 colonnes ; je peux,
bien sûr, tout remettre sur une seule colonne mais ce n'est pas très
fonctionnel. Je préfèrerais une petite macro qui permette de tester la
présence de la valeur saisie dans le (ou les) tableau(x) des valeurs
possibles.

Merci d'avance.


dans l'autre, je dois effectuer des
| saisies qui ne peuvent prendre comme valeur que celles figurant dans la

| première feuille à l'exclusion de toute autre.

Données > Validation > Liste....

AV






Avatar
claudy
Sans macro, ma solution est valable non?
Il suffit d'étendre le nom "Tableau "à tes colonnes!
A+
Claudy

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

Merci pour la suggestion.

Cependant, l'utilisation d'une liste implique que cette liste soit rangée
dans une colonne (ou ligne) unique ce qui n'est pas très pratique car mes
"valeurs fixes" se trouvent dans un tableau à 8 ou 10 colonnes ; je peux,
bien sûr, tout remettre sur une seule colonne mais ce n'est pas très
fonctionnel. Je préfèrerais une petite macro qui permette de tester la
présence de la valeur saisie dans le (ou les) tableau(x) des valeurs
possibles.

Merci d'avance.


dans l'autre, je dois effectuer des
| saisies qui ne peuvent prendre comme valeur que celles figurant dans la

| première feuille à l'exclusion de toute autre.

Données > Validation > Liste....

AV








Avatar
Alain
Merci à nouveau.
Cette solution est parfaitement valable mais, à l'usage, je souhaite
disposer d'une alerte qui interrompe la saisie et affiche un message d'alerte
de façon à bien attirer l'attention de la personne qui procède à ces saisies
sans trop regarder son écran.

A+


Sans macro, ma solution est valable non?
Il suffit d'étendre le nom "Tableau "à tes colonnes!
A+
Claudy

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

Merci pour la suggestion.

Cependant, l'utilisation d'une liste implique que cette liste soit rangée
dans une colonne (ou ligne) unique ce qui n'est pas très pratique car mes
"valeurs fixes" se trouvent dans un tableau à 8 ou 10 colonnes ; je peux,
bien sûr, tout remettre sur une seule colonne mais ce n'est pas très
fonctionnel. Je préfèrerais une petite macro qui permette de tester la
présence de la valeur saisie dans le (ou les) tableau(x) des valeurs
possibles.

Merci d'avance.


dans l'autre, je dois effectuer des
| saisies qui ne peuvent prendre comme valeur que celles figurant dans la

| première feuille à l'exclusion de toute autre.

Données > Validation > Liste....

AV













Avatar
AV
Je préfèrerais une petite macro qui permette de tester la
| présence de la valeur saisie dans le (ou les) tableau(x) des valeurs

| possibles.

C'est comme tu veux....
Avec la plage de référence nommée "tablo"
Pour controler la saisie en A1 (à adapter)
Dans le module de la feuille (clic droit sur l'onglet > visualiser le code >
copier/coller :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If Application.CountIf([tablo], zz) > 1 Then
Application.EnableEvents = False: zz.Select
MsgBox "Vous n'avez pas...blabla...": zz = ""
Application.EnableEvents = True
End If
End Sub

Avis perso : Il serait de loin préférable de lister (croissant ou décroissant)
dans une seule colonne (une petite macro ferait l'affaire) les différentes
saisies autorisées et d'utiliser une liste de validation (économie de saisie)
plutôt que de contrôler, à postériori, la saisie
Ca peut devenir agaçant pour l'utilisateur, mais... c'est toi qui voit

AV

Avatar
Alain
Bonsoir,
Merci à vous deux, AV et Claudy, de vos propositions.

A partir de vos suggestions et moyennant quelques adaptations, j'ai réussi à
régler mon problème de façon satisfaisante et de plus, j'ai découvert ou
redécouvert différentes fonctions et possibilités d'Excel que j'avais
oubliées faute de les pratiquer.

Ce groupe de discussions est réellement profitable et permet toujours
d'aboutir efficacement et rapidement.

Merci et bonne nuit.

Alain


Je préfèrerais une petite macro qui permette de tester la
| présence de la valeur saisie dans le (ou les) tableau(x) des valeurs

| possibles.

C'est comme tu veux....
Avec la plage de référence nommée "tablo"
Pour controler la saisie en A1 (à adapter)
Dans le module de la feuille (clic droit sur l'onglet > visualiser le code >
copier/coller :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If Application.CountIf([tablo], zz) > 1 Then
Application.EnableEvents = False: zz.Select
MsgBox "Vous n'avez pas...blabla...": zz = ""
Application.EnableEvents = True
End If
End Sub

Avis perso : Il serait de loin préférable de lister (croissant ou décroissant)
dans une seule colonne (une petite macro ferait l'affaire) les différentes
saisies autorisées et d'utiliser une liste de validation (économie de saisie)
plutôt que de contrôler, à postériori, la saisie
Ca peut devenir agaçant pour l'utilisateur, mais... c'est toi qui voit

AV