Créer message d'erreur excel 2003
Résolu/Fermé
Jojoob
Messages postés
4
Date d'inscription
mercredi 17 novembre 2010
Statut
Membre
Dernière intervention
18 novembre 2010
-
17 nov. 2010 à 16:30
Dusty - 18 nov. 2010 à 15:05
Dusty - 18 nov. 2010 à 15:05
A voir également:
- Créer message d'erreur excel 2003
- Erreur 0x80070643 - Guide
- Créer liste déroulante excel - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
9 réponses
Mike-31
Messages postés
18313
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
5 073
18 nov. 2010 à 11:27
18 nov. 2010 à 11:27
Salut tout le monde,
Je n'ai pu répondre plus tôt pour apporter des précisions, dans la demande il est bien précisé qu'il existait deux listes de validation ce qui supprime une deuxième utilisation de cette fonction, pour ma part je pense qu'il faut avoir recours au VBA ou supprimer les liste de validations en E et F.
pour répondre à Jojoob, le code à remplacer dans les propriétés de feuille.
J'ai complété le code par une gestion d'erreur
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([E6:F25], Target) Is Nothing Then
On Error GoTo errorHandler
If Target = "oui" And Target.Offset(0, 1) = "oui" Or _
Target = "oui" And Target.Offset(0, -1) = "oui" Then
MsgBox "Oui à été sélectionné pour la deuxième fois en " & Target.Address
errorHandler:
On Error GoTo 0
Exit Sub
End If
End If
End Sub
Je n'ai pu répondre plus tôt pour apporter des précisions, dans la demande il est bien précisé qu'il existait deux listes de validation ce qui supprime une deuxième utilisation de cette fonction, pour ma part je pense qu'il faut avoir recours au VBA ou supprimer les liste de validations en E et F.
pour répondre à Jojoob, le code à remplacer dans les propriétés de feuille.
J'ai complété le code par une gestion d'erreur
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([E6:F25], Target) Is Nothing Then
On Error GoTo errorHandler
If Target = "oui" And Target.Offset(0, 1) = "oui" Or _
Target = "oui" And Target.Offset(0, -1) = "oui" Then
MsgBox "Oui à été sélectionné pour la deuxième fois en " & Target.Address
errorHandler:
On Error GoTo 0
Exit Sub
End If
End If
End Sub
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
17 nov. 2010 à 17:19
17 nov. 2010 à 17:19
bonjour
il y a des solutions via l'affichage d'un message par le système de validation, mais elle ne sont pas applicables à la fois avec une liste par cellule et une formule liant les deux cellules, c'est soit la liste, soit la condition
Peut être vous en sortirez vous simplement avec une mise en forme conditionnelle qui pourrait passer E6 et F6 en rouge si elles comportent toutes deux un OUI
pour cela, si excel avant 2007:
Sélectionner E6:F6
barre d'outil / Format /Mise en forme conditionnelle
dans la fenêtre à droite, choisir "formule"
la formule est:
=ET(E6="oui";F6="oui")
formater dans la couleur souhaitée
en attendant mieux.. peut être
Crdlmnt
il y a des solutions via l'affichage d'un message par le système de validation, mais elle ne sont pas applicables à la fois avec une liste par cellule et une formule liant les deux cellules, c'est soit la liste, soit la condition
Peut être vous en sortirez vous simplement avec une mise en forme conditionnelle qui pourrait passer E6 et F6 en rouge si elles comportent toutes deux un OUI
pour cela, si excel avant 2007:
Sélectionner E6:F6
barre d'outil / Format /Mise en forme conditionnelle
dans la fenêtre à droite, choisir "formule"
la formule est:
=ET(E6="oui";F6="oui")
formater dans la couleur souhaitée
en attendant mieux.. peut être
Crdlmnt
Jojoob
Messages postés
4
Date d'inscription
mercredi 17 novembre 2010
Statut
Membre
Dernière intervention
18 novembre 2010
17 nov. 2010 à 20:03
17 nov. 2010 à 20:03
Merci pour votre réponse.
En effet, ce que j'aimerais c'est vraiment un message d'erreur...
En attendant une autre solution je vais supprimer les listes déroulantes, car en plus elles sont déjà en mise en forme conditionnelle (OUI en vert, NON en rouge).
Salutations
En effet, ce que j'aimerais c'est vraiment un message d'erreur...
En attendant une autre solution je vais supprimer les listes déroulantes, car en plus elles sont déjà en mise en forme conditionnelle (OUI en vert, NON en rouge).
Salutations
Mike-31
Messages postés
18313
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
5 073
17 nov. 2010 à 21:34
17 nov. 2010 à 21:34
Salut,
En VBA, clic droit sur l'onglet de feuille/Visualiser le code
et colle ce code dans la feuille blanche
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([E6:F6], Target) Is Nothing Then
If Range("E6") = "oui" And Range("F6") = "oui" Then
MsgBox "quel message voulez vous afficher"
End If
End If
End Sub
En VBA, clic droit sur l'onglet de feuille/Visualiser le code
et colle ce code dans la feuille blanche
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([E6:F6], Target) Is Nothing Then
If Range("E6") = "oui" And Range("F6") = "oui" Then
MsgBox "quel message voulez vous afficher"
End If
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il y a plus simple avec Validation
tu peux définir tes critères et s'ils sont remplis avec tes deux oui par exemple, tu as un message d'erreur qui s'affiche.
je susi sous 2007 chez moi mais de mémoire ça doit être dans Données puis validation et ensuite tu sélectionnes dans la liste déroulante
"égal à" cellule 1= cellule 2 =OUI
et là tu peux taper ton message qui doit s'afficher
tu as le choix entre un stop, une info, un avertissement
tu peux définir tes critères et s'ils sont remplis avec tes deux oui par exemple, tu as un message d'erreur qui s'affiche.
je susi sous 2007 chez moi mais de mémoire ça doit être dans Données puis validation et ensuite tu sélectionnes dans la liste déroulante
"égal à" cellule 1= cellule 2 =OUI
et là tu peux taper ton message qui doit s'afficher
tu as le choix entre un stop, une info, un avertissement
Raymond PENTIER
Messages postés
58395
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 avril 2024
17 094
18 nov. 2010 à 00:16
18 nov. 2010 à 00:16
Bonsoir, Anthony et Jojoob.
Pour aider Anthony (je suis chez moi), c'est bien dans Données/Validation des données qu'il faut aller.
Mais ensuite il faut choisir Options/Autoriser/Personnalisé et dans la fenêtre "Formule" qui apparaît, saisir =ET(E6="OUI";F6="OUI").
Puis cliquer sur l'onglet Alerte d'erreur et mettre le texte de son choix.
Cordialement.
Pour aider Anthony (je suis chez moi), c'est bien dans Données/Validation des données qu'il faut aller.
Mais ensuite il faut choisir Options/Autoriser/Personnalisé et dans la fenêtre "Formule" qui apparaît, saisir =ET(E6="OUI";F6="OUI").
Puis cliquer sur l'onglet Alerte d'erreur et mettre le texte de son choix.
Cordialement.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
Modifié par Vaucluse le 18/11/2010 à 10:41
Modifié par Vaucluse le 18/11/2010 à 10:41
Bonjour mon ami Raymond
C'est d'accord sur la solution, mais comme dit dans mon premier message , cette option est lié à la validation de données et n'est pas cumulable avec un menu déroulant.
Je pense que c'est dans cet but que jojoob a supprimé ses menus déroulants, vois son message 3
Par ailleurs, la solution est valable selon ta proposition, à ceci près:
le principe de validation par formule autorise mais n'interdit pas, ce qui veut dire qu'avec ta formule, seuls les deux OUI sont autorisés, ce qui est le contraire de la demande
La formule adaptée serait donc:
=(ET(OU($F6="NON";$E6="NON");$F6<>$E6))
et il est impératif de bloquer les colonnes pour qu'elle fonctionne, sinon elle se décale.
bien amicalement
Crdlmnt
C'est d'accord sur la solution, mais comme dit dans mon premier message , cette option est lié à la validation de données et n'est pas cumulable avec un menu déroulant.
Je pense que c'est dans cet but que jojoob a supprimé ses menus déroulants, vois son message 3
Par ailleurs, la solution est valable selon ta proposition, à ceci près:
le principe de validation par formule autorise mais n'interdit pas, ce qui veut dire qu'avec ta formule, seuls les deux OUI sont autorisés, ce qui est le contraire de la demande
La formule adaptée serait donc:
=(ET(OU($F6="NON";$E6="NON");$F6<>$E6))
et il est impératif de bloquer les colonnes pour qu'elle fonctionne, sinon elle se décale.
bien amicalement
Crdlmnt
Jojoob
Messages postés
4
Date d'inscription
mercredi 17 novembre 2010
Statut
Membre
Dernière intervention
18 novembre 2010
18 nov. 2010 à 08:22
18 nov. 2010 à 08:22
Merci pour vos réponse.
Je vais utiliser la solution de Mike mais j'ai encore besoin d'aide.
Je ne connais pas du tout le visual basic, mais avec cette formule ça fonctionne.
Pouvez-vous svp me modifier la formule de manière à l'incrémenter jusqu'à E25 et F25 ?
Merci d'avance
Je vais utiliser la solution de Mike mais j'ai encore besoin d'aide.
Je ne connais pas du tout le visual basic, mais avec cette formule ça fonctionne.
Pouvez-vous svp me modifier la formule de manière à l'incrémenter jusqu'à E25 et F25 ?
Merci d'avance
Jojoob
Messages postés
4
Date d'inscription
mercredi 17 novembre 2010
Statut
Membre
Dernière intervention
18 novembre 2010
18 nov. 2010 à 11:47
18 nov. 2010 à 11:47
C'est exactement ce qu'il me fallait.
Merci beaucoup
A+
Merci beaucoup
A+
Bonjour
Dans ces cas là, je ne me casse pas trop la tête, j'ajoute simplement une petite colonne qui sert de voyant à coté des 2 valeurs à traiter (en G6 ici). Cette colonne prendra comme valeur 1 ( texte formaté en rouge par exemple) si les 2 valeurs sont à OUI et vide sinon. Ensuite le format conditionnel met la cellule en rouge si la valeur est de 1.
Tu peux aussi remplacer la valeur 1 par un texte quelconque mais ça tient plus de place.
Tu peux même bloquer tout traitement si une seule cellule de cette colonne n'est pas vide ...
C'est simplet mais efficace..
Dans ces cas là, je ne me casse pas trop la tête, j'ajoute simplement une petite colonne qui sert de voyant à coté des 2 valeurs à traiter (en G6 ici). Cette colonne prendra comme valeur 1 ( texte formaté en rouge par exemple) si les 2 valeurs sont à OUI et vide sinon. Ensuite le format conditionnel met la cellule en rouge si la valeur est de 1.
Tu peux aussi remplacer la valeur 1 par un texte quelconque mais ça tient plus de place.
Tu peux même bloquer tout traitement si une seule cellule de cette colonne n'est pas vide ...
C'est simplet mais efficace..