Affichage d'un message d'alerte suite à contrôle

osiris150

XLDnaute Occasionnel
Bonjour,

Je viens solliciter votre aide (une fois de plus), pour m'aider à faire quelque chose qui je pense ne devrait pas être trop compliqué pour les pros du VBA que vous êtes.
en fait voilà, j'ai un tableau excel dans lequel il y a un onglet qui s'appelle "Listing". Dans cette feuille quand je double click dans la colonne K, cela m'affiche un N° (qui est définit par la cellule S1).
Ce que je souhaiterais c'est qu'il y ait un contrôle qui se fasse quand je double clique dans cette colonne K et que suite à ce contrôle un message s'affiche à l'écran si ce dernier n'est pas vérifié.

Voilà en quoi consiste ce contrôle :

Dans la colonne D, il y a des codes articles et dans la colonne H il y a des nuances. Et bien je voudrais que le contrôle vérifie que pour 2 articles identiques qui se suivent (c'est à dire 2 lignes à

suivre) il vérifie si la nuance est la même ou pas. Si ce n'est pas la même nuance alors il faut afficher le message suivant : "attention 2 nuances pour une même commande !"

voilà j'espère que mon explication est compréhensible et je vous remercie d'avance pour votre aide qui m'est toujours très précieuse.

Ci-joint un fichier exemple.
Amicalement
Nicolas
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Affichage d'un message d'alerte suite à contrôle

Bonjour osiris150,

Je te propose de modifier ton code comme suit :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Columns(11)) Is Nothing And Target.Count = 1 Then
        Cancel = True
        If Range("A" & Target.Row).Value = "" Then Exit Sub
        For lg = Target.Row - 1 To Target.Row + 1 Step 2
          If Cells(lg, 3) = Cells(Target.Row, 3) Then
            MsgBox "Attention 2 nuances pour une même commande !"
            Exit For
          End If
        Next
        Target = Range("S1")
    End If
End Sub
Espérant avoir répondu.

Cordialement.
 

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Wow !! Quelle rapidité !! Et ça marche impec !! Merci beaucoup Papou-net

Bonne soirée
Nicolas
 

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Mon enthousiasme a été un peu trop rapide. En fait cela ne marche pas correctement.
En effet le message s'affiche dès qu'il y a 2 lignes qui se suivent et en plus il s'affiche aussi même si la nuance est identique.
Le message ne doit s'afficher que si 2 nuances sont différentes pour un même article qui se suit sur 2 lignes.
Voilà en espérant que cela va marcher...
Je remets le fichier avec votre macro pour que vous voyez ce que ça fait...
Nicolas.
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Affichage d'un message d'alerte suite à contrôle

Au temps pour moi, voici la correction :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Columns(11)) Is Nothing And Target.Count = 1 Then
        Cancel = True
        If Range("A" & Target.Row).Value = "" Then Exit Sub
        For lg = Target.Row - 1 To Target.Row + 1 Step 2
          If Cells(lg, 3) = Cells(Target.Row, 3) And Not Cells(lg, 8) = Cells(Target.Row, 8) Then
            MsgBox "Attention 2 nuances pour une même commande !"
            Exit For
          End If
        Next
        Target = Range("S1")
    End If
End Sub
Cordialement.
 

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

je viens de tester c'est presque bon !! Mais il y a encore un tout petit "beug"
Voir avec le fichier joint. Si on clique en K26 il affiche un message alors qu'il ne faudrait pas.
On y est presque .
Merci d'avance
Nicolas
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Affichage d'un message d'alerte suite à contrôle

Je ne comprends pas où est le beug.

En ligne 26, la nuance est différente de celle de la ligne 25. Il est donc normal que le message s'affiche, non ?

Ou alors, l'analyse ne doit porter que sur la ligne en-dessous du double-clic ? Ce n'est pas ce que j'avais compris et j'ai écrit ce code pour qu'il analyse la ligne au-dessus et au-dessous de la ligne cliquée.

Dans l'attente de ta confirmation.

Cordialement.
 

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Re bonsoir Papou,

Heu...Non regardes bien la ligne 25 indique la nuance 203 et la ligne 26 aussi.
Tu as bien pris le dernier fichier que j'ai uploadé ?
Si problème redis-moi car je ne pense pas me tromper...
 

Papou-net

XLDnaute Barbatruc
Re : Affichage d'un message d'alerte suite à contrôle

Re osiris,

Oui, j'ai pris ton dernier fichier, mais j'ai dû recopier le code qui n'était pas à jour.
De plus les lignes 25 et 26 étaient différentes (201 et 203).
J'ai donc testé en mettant ces 2 cases à 203, et plus d'affichage de message.
Je t'envoie donc le fichier que j'ai testé.

Cordialement.
 

Fichiers joints

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Bonjour Papou,

Excuses-moi de ne pas avoir répondu hier soir je n'étais pas chez moi.
Effectivement ça marche dans le fichier que tu m'as renvoyé. Par contre le "beug" se produit si une commande a par exemple 4 ou 5 lignes et que dans ces lignes il y a 2 articles identiques avec 2 nuances différentes. Alors là, quand on clique même sur les autres articles de cette commande, le message apparaît alors qu'il ne faudrait pas.

Je te remets le fichier avec un exemple qui bug. Regardes quand tu cliques en K27 ou en K28, il ne devrait pas y avoir de message. Le message ne devrait apparaître que si on cliques en K25 et K26.
Voilà, en espérant que ce ne sera pas trop dur à modifier.
Merci d'avance
Amicalement
Nicolas
 
Dernière édition:

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Bonjour,

Je me permets de remonter le poste en espérant une réponse.
Merci par avance
Nicolas
 

osiris150

XLDnaute Occasionnel
Re : Affichage d'un message d'alerte suite à contrôle

Bonjour,

Personne pour m'aider ? :(

La solution de Papou est presque bonne, mais je ne sais pas comment modifier ses lignes de VBA.
Merci d'avance.
 
Haut Bas