Si contient alors

En fait se sont les preparateurs de commandes qui doivent saisir des données imprimées sur des étiquettes du fournisseur et cela avec un lecteur codes barres. Les fournisseurs ne font pas tous l'effort de respecter nos demandes et incluent parfois un- et un caractère a la fin du numéro que nous avons besoin. Donc pour ne pas arreter toutes la chaine nois voudrions lire ce code et si il contient un tiret ne prendre uniquement que les caractères avant ce tiret soit deux caractères de droite en moins

Voila....

Re,

Salut CORDIA5,

Un essai via macro évènementielle....(qui agit uniquement en colonne A)

Classeur3.xlsm

Cordialement,

re bonjour , en fin de compte cela ne fonctionne pas toujours ..

exemple : saisie 123456-78 affichage 12345 ??? manque le 6 ?

merciii

Re,

Essaies ce code.....(à placer dans le module de la feuille concernée...

Private Sub Worksheet_Change(ByVal Target As Range)

 Dim plage As Range

  With Sheets("Feuil1")
   Set plage = .Range("K8:K26,M8:M26,N8:N26")
    If Not Application.Intersect(Target, plage) Is Nothing Then
     If InStr(1, Target, "-") > 0 Then Target.Value = Left(Target.Value, Len(Target.Value) - 2)
    End If
   cancel = True
  End With
End Sub

Cordialement,

Re,

Essaies ce code.....(à placer dans le module de la feuille concernée...

Private Sub Worksheet_Change(ByVal Target As Range)

 Dim plage As Range

  With Sheets("Feuil1")
   Set plage = .Range("K8:K26,M8:M26,N8:N26")
    If Not Application.Intersect(Target, plage) Is Nothing Then
     If InStr(1, Target, "-") > 0 Then Target.Value = Left(Target.Value, Len(Target.Value) - 2)
    End If
   cancel = True
  End With
End Sub

coogar. plages définies.xlsm

Cordialement,

parfait !! par contre j'ai remplacé le -2 par -1

Left(Target.Value, Len(Target.Value) - 1)

merci beaucoup

Re,

parfait !! par contre j'ai remplacé le -2 par -1

Left(Target.Value, Len(Target.Value) - 1)

Cordialement,

Rechercher des sujets similaires à "contient"