MsgBox Avec conditions

Résolu
Benoit_Lyon Messages postés 99 Statut Membre -  
f894009 Messages postés 17413 Statut Membre -
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

f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

Une Mise en Forme Conditionnelle avec changement de couleur n'irait-elle pas mieux ?
0
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
f894009 Messages postés 17413 Statut Membre 1 715
 
Re,
Ah oui, c'est pour une "case" ou une palanquee?
Ce "Faux" apparait par miracle ou ..??
0
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
f894009 Messages postés 17413 Statut Membre 1 715
 
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
Benoit_Lyon Messages postés 99 Statut Membre 1
 
que cette cellule
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Re,
Vous connaissez le VBA Excel ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Benoit_Lyon Messages postés 99 Statut Membre 1
 
Oui je connais. Je suis débutant. Mais je connais
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,
Z'etes toujours a l'ecoute ?
0
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
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,
Ok, montrez la chose
0
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
f894009 Messages postés 17413 Statut Membre 1 715
 
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
Benoit_Lyon Messages postés 99 Statut Membre 1 > f894009 Messages postés 17413 Statut Membre
 
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
f894009 Messages postés 17413 Statut Membre 1 715 > 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
Benoit_Lyon Messages postés 99 Statut Membre 1
 
Bonsoir

Voilà
https://www.cjoint.com/c/GAwuPPE4btD
Merci.
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

Une facon de voir pour votre fichier. Doit y avoir petite confusion Trimestre/Semestre!!!
Vous avez teste rajout intero ??

https://www.cjoint.com/c/GAxhQg42Zxf
0
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
f894009 Messages postés 17413 Statut Membre 1 715
 
Re,

Ma version est votre fichier que j'ai recupere et modifie, mais pas cette partie la.
Quel EXCEL avez-vous ?
0
f894009 Messages postés 17413 Statut Membre 1 715
 
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