Choix de macro événementielle avec userform

Bonjour à tous,

Je viens de me faire aider par certaines âmes très charitables sur ce forum et je reviens pour un nouveau problème!

J'ai une macro événementielle qui comporte 3 parties:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cel As Range, aa, i&
    With Feuil1
        aa = .Range("A2:V" & .Range("I" & Rows.Count).End(3).Row)
    End With
    'Recherche de l'UC
    If Not Intersect(Range("A3"), Target) Is Nothing And Target.Count = 1 Then
        With Feuil2
            For i = 1 To UBound(aa)
                If aa(i, 6) <> "" And Target <> "" And Target.Value Like "*" & aa(i, 6) & "*" Then
                    .Cells(3, 2) = aa(i, 1)
                    .Cells(3, 3) = aa(i, 2)
                    .Cells(3, 4) = aa(i, 16)
                    .Cells(3, 5) = aa(i, 14)
                    GoTo 1
                End If
            Next i
            MsgBox "Cette référence UC n'a pas été trouvée dans la base! Merci de vous adresser à un chef d'équipe.", vbCritical, "Oups..."
        End With
    End If
    'Recherche du carton
    If Not Intersect(Range("A7"), Target) Is Nothing And Target.Count = 1 Then
        With Feuil2
            For i = 1 To UBound(aa)
                If aa(i, 9) <> "" And Target <> "" And Target.Value Like "*" & aa(i, 9) & "*" Then
                    .Cells(7, 2) = aa(i, 1)
                    .Cells(7, 3) = aa(i, 2)
                    GoTo 1
                End If
            Next i
            MsgBox "Cette référence Carton n'a pas été trouvée dans la base! Merci de vous adresser à un chef d'équipe.", vbCritical, "Oups..."
        End With
   End If
1    With Feuil2
        If .Range("A7") <> "" And .Range("A3") <> "" Then
            If .Range("B3,C3") <> .Range("B7,C7") Then
                MsgBox "Cette UC ne va pas dans ce Carton", vbExclamation, "Attention"
            End If
        End If
    End With
End Sub

Tout ceci fonctionne très bien et j'en remercie les personnes qui m'ont aidé!

Seulement j'ai un nouveau souci. Voici ce qu'on fait:

  • On scanne le code barre d'un produit
  • On scanne le code barre d'un carton ou d'un box (le problème est là)
  • La macro compare les infos dans leurs lignes respectives dans une base de donnée.

Mon problème est le suivant:

- En scannant le produit, les infos du premier code barre trouvé seront renvoyées. (dans la ligne j'ai le code barre du carton associé)

Mais ce produit vas aussi dans un box! Donc si je scanne le box (qui est dans la ligne en dessous avec ce même produit (en gros j'ai deux fois le même code barre produit dans la même colonne)) je vais avoir une incohérence alors que pas du tout!

J'ai donc pensé faire un userform qui, en ouvrant le fichier nous propose CARTON ou BOX. On clique sur le bouton de notre choix et ceci appelle une macro différente suivant le cas qui travaillera avec une colonne ou l'autre (que j'aurais pris soin de départager auparavant) Faut-il rester avec une worksheet_change(...) peut-on en utiliser deux? (une par choix) ou y a t'il d'autres possibilités?

"Me suis-je bien fais compris?!"

Je débarque totalement en programmation... soyez indulgents avec les termes que j'utilise !

Merci par avance à tous!

Personne?

Rechercher des sujets similaires à "choix macro evenementielle userform"