• Initiateur de la discussion Initiateur de la discussion vmax67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vmax67

XLDnaute Occasionnel
Bonsoir les experts

J’ai besoin de vos lumières à propos d’une message box
J’ai des cellules grisées qu’il faut absolument remplir, et des cellules en bleue qu’il faut
également remplir uniquement après saisie totale des grises.
Il me faudrait une alerte par message box qui signale qu’elle cellule grise n’est pas remplie
quand on essaie de saisir une valeur dans une des cellules en bleue
Nom cellule grise = Test_Zone_Grise
Nom cellule bleue = Test_Zone_Bleue
Merci pour votre aide
VMAX67
 

Pièces jointes

Re : Msgbox

En fait je te suggérais de le mettre en .xls (version Excel 2003) pour éviter les problèmes de conversion.

Mais peu importe, ça marche donc j'ai pu regarder.

Tout d'abord, tu as utilisé des cellules fusionnées, et ça c'est mal. Du coup, même quand tu as l'impression que toutes tes cellules grises sont remplies, lorsque tu balayes chaque cellule de la zone TEST_ZONE_GRISE, tu vas en trouver des vides.

Je te suggère donc dans un premier temps de changer la définition de TEST_ZONE_GRISE et de mettre :
Code:
=Feuil1!$B$5;Feuil1!$C$5:$C$10;Feuil1!$J$5:$J$10;Feuil1!$C$14;Feuil1!$J$14

Ensuite, j'ai un peu modifié ta macro, que tu trouveras commentée ci-dessous, de façon à ce que s'il y a 3 cellules non remplies, l'utilisateur ne se tape pas trois messages, mais un seul qui résume toutes les cellules non remplies.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  'Test pour savoir si la cellule qui a déclenché l'événement est bien dans la zone bleue
  If Not Intersect(Range("TEST_ZONE_BLEUE"), Target) Is Nothing And Target.Count = 1 Then
    'La variable AuMoinsUneCelluleGriseNonRemplie servira à stocker le fait qu'on a trouvé une cellule grise vide
    AuMoinsUneCelluleGriseNonRemplie = False
    'La variable CellulesNonRemplies servira à stocker la liste des cellules vides
    CellulesNonRemplies = ""
    'On va balayer chaque cellule de TEST_ZONE_GRISE
    For Each c In Range("TEST_ZONE_GRISE")
        'et si l'une d'elles est vide, on bascule AuMoinsUneCelluleGriseNonRemplie et on note l'adresse de la cellule dans CellulesNonRemplies
        If c.Value = "" Then
            AuMoinsUneCelluleGriseNonRemplie = True
            If CellulesNonRemplies <> "" Then CellulesNonRemplies = CellulesNonRemplies & " / "
            CellulesNonRemplies = CellulesNonRemplies & c.Address
        End If
    Next c
    'Si une des cellules de la zone grise est vide, on affiche le message prévu
    If AuMoinsUneCelluleGriseNonRemplie Then
        réponse = MsgBox("Attention saisie imcomplète voir cellule(s)  :  " & CellulesNonRemplies & Chr$(10), vbInformation, "ZONE GRISE NON REMPLIE")
        Application.EnableEvents = False
        Target.Value = Empty
        Target.Select
        Application.EnableEvents = True
    End If
  End If
End Sub

A ta dispo si pas clair

Gurgeh
 
Re : Msgbox

Merci trop fort

encore une petite question sur une partie de code à insérer sur la même feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("TEST_NL"), Target) Is Nothing And Target.Count = 1 Then
For Each c In Range("TEST_NL")
If UCase(c.Value) = UCase(Target.Value) And c.Row <> Target.Row And c.Value <> Empty Then
réponse = MsgBox("Le n° de licence de la personne que vous voulez saisir figure déjà dans la cellule : " & c.Address & Chr$(10) _
, vbInformation, "DETECTION DOUBLON")
Application.EnableEvents = False
Target.Value = Empty
Target.Select
Application.EnableEvents = True
End If
Next c
End If
End Sub


Je détecte bien les doublons, sauf s'il sont sur la même ligne

exemple C6 = 120 et J = 120 ne détecte pas le doublon

Les cellules concernées par les doublons sont :

C6;C8;C10,J6;J10;J12

Mille fois merci et vive le forum
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

S
Réponses
5
Affichages
2 K
Grouchet
G
B
Réponses
8
Affichages
2 K
between
B
E
Réponses
1
Affichages
2 K
Y
Retour