Validation sous excel

Résolu
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,

3 réponses

  1. Contributeur
    =A3=A1+A2
    C'est tout ! pas de SI, ET, OU ; juste le signe = au début !
    0
    1. Contributeur
      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
      1. 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
        1. 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
        2. 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
        3. Contributeur
          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
        4. 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
        5. Contributeur
          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