Validation sous excel

Résolu/Fermé
Pois - 16 déc. 2011 à 22:05
Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 - 18 déc. 2011 à 00:04
Bonjour à tous,

Je cherche depuis longtemps et je n'y arrive pas... Et je suis sûre que ce n'est pas compliqué pour les experts.

Ce que je cherche à faire est:

Si le résultat d'une cellule (A3=A1+A2) est supérieur à 0, l'utilisateur doit entrer du texte dans A4.

Je pensais pouvoir y arriver par Validation des données\Personnalisée\formule mais tout ce que j'ai essayé (SI, ET, OU, etc.) ne fonctionne pas.

Votre aide est grandement appréciée.

Merci,



A voir également:

3 réponses

Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 17 275
16 déc. 2011 à 22:22
=A3=A1+A2
C'est tout ! pas de SI, ET, OU ; juste le signe = au début !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
Modifié par michel_m le 17/12/2011 à 09:03
Bonjour

Solution avec formule
avec une mise conditionnelle
formule
=(A3>0)*(ESTTEXTE(A4))
tu choisis le format de la cellule par ex rouge ou noir
l'utilisateur est averti si la condition est réalisée

Solution par fonction personnalisée (+ compliqué mais...)
Auteur: Jacques Boisgontier
http://boisgontierjacques.free.fr/
dans la cellule B4 par ex
=AfficheCmt(A4;(A3>0)*(ESTTEXTE(A4));"Texte interdit";2)
fait apparaitre un commentaire "texte interdit" sur fond rouge qui disparait si la condition n'est pas réalisée
le code
Function AfficheCmt(cel, cond, msg, coul) 
  Application.Volatile 
  Set f = Sheets(Application.Caller.Parent.Name) 
  If Not cel.Comment Is Nothing Then cel.Comment.Delete 
  If cond Then 
    With cel 
      If .Comment Is Nothing Then .AddComment 
       .Comment.Shape.Width = Len(msg) * 6 
       .Comment.Shape.Height = 10 
       .Comment.Shape.Left = .Left + .Width + 5 
       .Comment.Shape.Top = .Top - 2 
       .Comment.Visible = True 
       .Comment.Text Text:=msg 
       .Comment.Shape.Fill.ForeColor.SchemeColor = coul 
     End With 
   End If 
   AfficheCmt = "" 
End Function

Si tu ne connais pas les macros, fais signe en indiquant ta version d'excel

petite démo
https://www.cjoint.com/?ALri7SXxSZF
Michel
0
Nyctaclope Messages postés 5315 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 décembre 2022 1 253
Modifié par Nyctaclope le 16/12/2011 à 22:24
Bonsoir

Si la saisie est à la charge de l'utilisateur, Excel ne peut la faire à sa place, et ne peut que lui afficher un message d'avertissement , par exemple :

en A5 :
=SI(A3>0;"Il manque une donnée texte à gauche";"")

La formule ci dessus suppose que A3 est bien numérique ..

Par contre, si l'utilisateur a bien saisi son texte comme demandé, le message continue d'être affiché, puisqu'il ne tient compte que de la valeur en A3..
Donc il faudrait que tu précise un peu mieux les réactions que tu souhaites de la part d'Excel ..

A+
Nyctaclope

Le plus joli des poèmes de la mathématique : e^(i.PI)=i^2
trois nombres "sacrés" d'horizons différents qui se donnent la main ...
-2
Nyctaclope Messages postés 5315 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 décembre 2022 1 253
Modifié par Nyctaclope le 16/12/2011 à 22:43
Et comme je vais au dodo, et que j'ai peut être deviné ce que tu souhaiterais, essaye ceci :
en A5
=SI(ET(ESTNUM(A3);A3>0;NON(ESTTEXTE(A4)));"Il manque une saisie texte à gauche";"")
A+
Nyctaclope
0
Merci Nyctaclope, ¸ ça donne le résultat escompté.

J'aurais voulu obtenir l'alerte "cute" comme ce qu'on peut avoir avec "validation de données".

Mais ça fera très bien l'affaire.

Merci encore,
0
Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 17 275
17 déc. 2011 à 21:37
Pois, tu étais vraiment tout près de la solution, et je t'ai indiqué quoi faire pour que ça marche (post #2) : tu aurais bien fait d'essayer !
0
Nyctaclope Messages postés 5315 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 décembre 2022 1 253
17 déc. 2011 à 22:59
Bonsoir Raymond !
Sauf erreur de ma part, la formule que tu as proposée ne fait que vérifier que le calcul en A3 est bien exact, mais pas s'il est positif, et que dans ce cas une saisie de texte en A4 est peut être absente quoique nécessaire ... ce qui me semblait être la question posée ..
Par contre la mise en forme conditionnelle de Michel_m me parait très élégante, et de loin préférable à la mienne, un peu simpliste ..
Bonne suite à toi ..
A+
Nyctaclope
0
Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 17 275
17 déc. 2011 à 23:43
Oh, là , là ! Je suis confus : J'ai mal lu, et j'ai traduit "Si A3 est bien égal à la somme de A1 & A2", l'information A3=A1+A2 étant en l'occurrence superfétatoire ...
Salut à vous tous.
0