RechercheV valeurs avec plusieurs résultats possible, Probleme exexution 5 et 1004,

shennon

XLDnaute Nouveau
J'ai créé un fichier où lorsque je bippe le code barre d'un article et il me donne le ou les référence(s) correspondant à celui ci. Si un code barre à plusieurs références il me les affiche sous forme de liste.
Tout fonctionne bien si le code barre est présent dans ma base, si ce n'est pas le cas, il me donne une erreur d'execution 5 puis 1004 lorsque j'efface la valeur.
Ce que je n'arrive pas à faire c'est éliminer ces 2 erreurs et afficher un message "le code barre n'existe pas" si le code barre n'est pas présent dans la base.
Merci d'avance pour votre aide.
 

Pièces jointes

  • Enregistrement contrôles.xlsm
    301.2 KB · Affichages: 33

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : RechercheV valeurs avec plusieurs résultats possible, Probleme exexution 5 et 10

Bonjour shennon et bienvelue sur XLD :),

un essai dans le fichier joint:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig&, codbarre, codPFVA, Moncodebarre, i&, temp$, liste
Dim present As Boolean, aucun As Boolean

If Target.Address = "$B$2" And Target.Count = 1 Then
  With Sheets("BaseCos")
    derlig = .Cells(.Rows.Count, "a").End(xlUp).Row
    codbarre = .Range(.Cells(2, "a"), .Cells(derlig, "a")).Value
    codPFVA = .Range(.Cells(2, "e"), .Cells(derlig, "e")).Value
  End With
  Application.EnableEvents = False
  Moncodebarre = Target.Value
  Target.Offset(, 1).Validation.Delete
  Target.Offset(, 1).ClearContents
  derlig = derlig - 1
  
  If Len(Moncodebarre) > 0 Then
    For i = 1 To derlig
      If codbarre(i, 1) = Moncodebarre Then
        present = True
        If Len(codPFVA(i, 1)) > 0 Then temp = temp & codPFVA(i, 1) & ","
      End If
    Next i
      
    If Len(temp) = 0 Then aucun = True
      If Not present Then
        MsgBox "Code Barre absent de BasCos."
        Target = Moncodebarre & vbLf & "absent de BasCos"
        Application.EnableEvents = True
        Exit Sub
      End If
      
      If aucun Then
        MsgBox "Code Barre présent dans BasCos mais aucun code PFVA non vide correspondant."
        Application.EnableEvents = True
        Exit Sub
      End If
      
    If Right(temp, 1) = "," Then temp = Left(temp, Len(temp) - 1)
    Target.Offset(, 1).Validation.Add xlValidateList, Formula1:=temp
    liste = Split(temp, ",")
    Target.Offset(, 1) = liste(0)
    If UBound(liste) > 0 Then
      Target.Offset(, 1).Select
      SendKeys "%{down}"
    End If
  End If
End If
Application.EnableEvents = True
End Sub
 

Pièces jointes

  • shennon-Enregistrement contrôles v1.xlsm
    318.2 KB · Affichages: 440
Dernière édition:

shennon

XLDnaute Nouveau
Re : RechercheV valeurs avec plusieurs résultats possible, Probleme exexution 5 et 10

1000 Merci pour ton aide. C'est exactement que ce que je voulais. Encore merci
J'ai encore une petite demande si tu peux m'aider ça sera extraordinaire.
Lorsque je protège ma feuille Accueil_Cosmetique, et que je bippe un code barre présent dans la liste, il m'indique une erreur 1004
Aurais tu une idée ?
 

Pièces jointes

  • shennon-Enregistrement contrôles v1 protegé sans mot de passe.xlsm
    296.9 KB · Affichages: 46

Discussions similaires

Réponses
7
Affichages
347

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN