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!