MsgBox Avec conditions

Résolu
Benoit_Lyon Messages postés 99 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous,

Je cherche à créer une message box qui apparaitrait quand une certaine case indique "FAUX" et n'apparaitrait pas si les données saisies sont correctes. (C'est une case où l'on doit saisir une date comprise entre deux date).

Merci pour votre aide.

Benoit

10 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Une Mise en Forme Conditionnelle avec changement de couleur n'irait-elle pas mieux ?
    0
  2. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    Si bien sur, et je sais comment la faire,
    mais pourquoi faire simple quand on peut faire compliqué...Lol
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Ah oui, c'est pour une "case" ou une palanquee?
      Ce "Faux" apparait par miracle ou ..??
      0
  3. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    Quand je rentre une date dans une certaine case ("P1"), j'ai fait une formule dans une autre case ("P3")pour savoir si la date rentrée est valable (bien comprise dans la plage de date prévue).
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Donc, c'est en P3 qu'apparait le "FAUX" si pas ok
      dans une certaine case ("P1")
      Que cette cellule, pas d'autres?
      0
  4. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    que cette cellule
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Vous connaissez le VBA Excel ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    Oui je connais. Je suis débutant. Mais je connais
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Z'etes toujours a l'ecoute ?
      0
  7. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    Bonsoir,

    Oui toujours à l'écoute. J'ai trouvé une solution. Je la poste tout à l'heure si vous voulez donner un avis.

    Cdt
    Benoît
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Ok, montrez la chose
      0
  8. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    Bonjour,

    Code sur la page

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("O1:U1")) Is Nothing Then
    Call Boitededialogue
    End If
    End Sub

    Code macro
    Sub Boitededialogue()
    'informe l'utilisateur d'une mauvaise saisie de date
    If Range("P3") = "Faux" Then
    Retour = msgbox("Saisir une date entre le premier jour et le dernier jour de l'année scolaire", 48)
    End If
    End Sub

    Voilà. Ca fonctionne.
    Des idées d'améliorations ?

    Merci
    Benoit
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Ca c'est votre demande post 4
      Quand je rentre une date dans une certaine case ("P1"), j'ai fait une formule dans une autre case ("P3")

      Maintenant c'est:
      Range("O1:U1"))
      Ca fait 7 "case"!!!!!!!!

      Correspond peut-etre au jours de la semaine ?

      avec ceci un peu mieux mais pas suffisant, il est possible de changer de cellule meme mal remplie, c'est pour cela que je demande des precisions sur le "a quoi ca sert"
      Private Sub Worksheet_Change(ByVal Target As Range)
          On Error GoTo fin:
          If Target.Count > 1 Then Exit Sub
          If Not Application.Intersect(Target, Range("O1:U1")) Is Nothing And Range("P3") = "Faux" Then
              Target.Select
              Application.EnableEvents = False
              Target = ""
              Retour = MsgBox("Saisir une date entre le premier jour et le dernier jour de l'année scolaire", 48)
          End If
      fin:
          Application.EnableEvents = True
      End Sub
      
      0
      1. Benoit_Lyon Messages postés 99 Statut Membre 1 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Pour des raisons de présentation j'ai fusionné les cases o1 a u1. Dans le code de page il ne voulait pas prendre p1. Donc j'ai mis o1:u1 et ca fonctionne.
        donc c'est un tableau qui calcule les moyennes de mes élèves : moyenne annuelle et moyenne par trimestre. Ma macro sert à détecté les fautes de saisies des dates de devoirs et donc de bien calculer les moyennes par trimestre.
        0
      2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Benoit_Lyon Messages postés 99 Statut Membre
         
        Re,
        Ma macro sert à détecté les fautes de saisies des dates de devoirs et donc de bien calculer les moyennes par trimestre.
        Oui, tout a fait Thierry, je vous ai mis un exemple de code qui, comme le votre, n'est pas suffisant pour controler les cellules
        Vous pouvez mettre votre fichier a dispo sans donnees confidentielles car je ne comprends pas tout

        Pour transmettre un fichier,
        Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
        il faut passer par un site de pièce jointe tel que cjoint.com

        Allez sur ce site : https://www.cjoint.com/
        Clic sur parcourir,
        Cherche ton fichier,
        clic sur ouvrir,
        Clic sur "Créer le lien cjoint",
        Copier le lien,
        Revenir ici le coller dans une réponse...
        0
  9. Benoit_Lyon Messages postés 99 Statut Membre 1
     
    sur ma version, le rajout interro ne bug pas. Dans votre version, c'est moyen.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Ma version est votre fichier que j'ai recupere et modifie, mais pas cette partie la.
      Quel EXCEL avez-vous ?
      0
  10. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    Le fait que vous effaciez la zone du premier devoir seme la pagaille pour un rajout(je peux palier a cet anomalie) et votre code pour O1 n'ira pas pour les devoirs suivants, faudra revoir votre copie (pas mal pour un "enseignent")
    D'ailleur, pourquoi effacez vous le premier devoir?
    Autre question, un devoir par trimestre ou plus ?
    0