Autres Problème d'étoiles à supprimer lors d'un scan avec douchette

a26

XLDnaute Occasionnel
Bonjour,
Lors d'un scan de code barre 39 le résultat chiffré apparaît avec une étoile avant et après le chiffre.
Comme ceci : *25* alors que j'aimerai seulement 25
Des membres du forum m'ont donné une worksheet change qui ne fonctionne pas pour une variable non définie.
Pouvez-vous me conseiller sur ce problème.
Merci beaucoup.
a26
 

job75

XLDnaute Barbatruc
Bonjour a26,

Dans le code de la feuille où s'inscrivent les résultats collez cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Cells.Replace "~*", "", xlPart
Application.EnableEvents = True
End Sub
La plage où s'inscrivent les résultats est à mettre au format Texte s'il y a des nombres commençant par zéro.

A+
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour A26,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("D5")) Is Nothing Then
        If Left(Target, 1) = "*" And Right(Target, 1) = "*" Then
            Application.EnableEvents = False
            Range(Target.Address) = Val(Mid(Target, 2, Len(Target) - 1))
            Application.EnableEvents = True
        End If
    End If
End Sub
Le Application.EnableEvents = False évite de boucler sur la macro puisque la macro écrit dans l'adress qui l'a appelée.
 

Pièces jointes

  • Classeur2.xlsm
    14.5 KB · Affichages: 3

job75

XLDnaute Barbatruc
Pour avertir quand la valeur en G2 est dépassée :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim maxi#
maxi = Val(Replace([G2], ",", "."))
Application.EnableEvents = False
Cells.Replace "~*", "", xlPart
Set Target = Intersect(Target, UsedRange)
If Not Target Is Nothing Then
    For Each Target In Target 'si entrées multiples
        If IsNumeric(Target) Then If CDbl(Target) > maxi Then Target.Select: MsgBox "Limite " & maxi & " dépassée !", 48: Exit For
    Next
End If
Application.EnableEvents = True
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
313 274
Messages
2 096 754
Membres
106 739
dernier inscrit
jcdu16