Macro check

joedu31

XLDnaute Nouveau
Bonjour,

J'ai un petit soucis, j'aimerai que lorsque je clique sur l'onglet "QUAND JE CLIQUE FEUILLE" dans le fichier ci joint, apparaisse un message d'erreur SI il y a plus de 6 fois le numéro de poste.

Code:
Worksheet_Deactivate()

Ici dans l'exemple, il devrait apparaitre avec la station numéro 6.

" Vous avez rentré un nombre supérieur d'étapes associé pour une même station. Le nombre limite pour chaque station est de 6."



Merci à vous,
Joe
 

Pièces jointes

  • Classeur1.xlsm
    13.3 KB · Affichages: 33
  • Classeur1.xlsm
    13.3 KB · Affichages: 36

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro check

Bonjour Joe, bonjour le forum,

Peut-être comme ça :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim L As Worksheet 'déclare la variable L (onglet Liste)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim I As Integer 'déclare la variable I (Incrément)
Dim TT As Variant 'déclare la variable TT (Tableau Temporaire)

Set L = Sheets("LISTE") 'définit l'onglet L
If Sh.Name = "QUAND JE CLIQUE FEUILLE" Then 'condition : si l'onglet actié se nomme "QUAND JE CLIQUE FEUILLE"
    TV = L.Range("C5").CurrentRegion ' définit le tableau des valeurs TV
    Set D = CreateObject("Scripting.dictionary") 'définit le dictionnaire D
    For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
        D(TV(I, 1)) = "" 'alimente le dictionnaire TV avec les données de la colonne 1 du tableau des valeurs  TV
    Next I 'prochaine ligne de la boucle
    TT = D.Keys 'récupère dans le tableau temporaire TT la liste des éléments de D sans doublon
    For I = 0 To UBound(TT) 'boucle sur tous les éléments du tableau temporaire TT
        'si le nomre de fois que l'élément apparait dans la colonne C de l'onglet L est supérieur à 6, message
        If Application.WorksheetFunction.CountIf(L.Columns(3), TT(I)) > 6 Then _
           MsgBox " Vous avez rentré un nombre supérieur d'étapes associé pour la station " & Chr(34) & TT(I) & Chr(34) & ". Le nombre limite pour chaque station est de 6."
    Next I 'prochain élément de la boucle
End If 'fin de la condition
End Sub

[Édition]
Bonjour Lolote, nos posts se sont croisés...
 

joedu31

XLDnaute Nouveau
Re : Macro check

Merci à vous deux pour vos réponses :)

J'ai essayé ta méthode Robert, mais aucune réaction de la feuille... :confused:


[Edit]

Vous trois***, je viens de voir ton message en actualisant la page DoubleZero :p
Merci à vous :)
 

Discussions similaires

Statistiques des forums

Discussions
312 451
Messages
2 088 519
Membres
103 876
dernier inscrit
Audrey82