Supprimer les 6 derniers caractères dans mon userform

Bonjour à tous,

Je bloque sur un point bien précis et comme je suis novice en VBA, je galère pendant des heures sans trouver la solution...

Voila mon problème:

Lorsque l'on clique sur le bouton "Entrée de marchandise", un userform se déclenche en nous demandant de scanner un BP, puis de sélectionner l'emplacement. Jusque la tout va bien. Toutes ces informations renseignées s'incrémentent dans ma feuille base (Bouton consultation emplacements/stocks)

Le BP en question se compose de 19 caractères au total. Ex: 2033205662762.G0011

Je souhaite que soit supprimer les 6 derniers caractères pour que ne soit recopier dans ma feuille "base" que les 13 premiers caractères: 2033205662762

J'ai essayer plusieurs formules mais rien ne fonctionnent lorsque je les incrémentent dans mon "Private Sub Validation_Click()", Feuilles" valider_entree"

Ci joint mon fichier.

Si une âme charitable peux m'aider sur ce sujet, je suis preneur!

Merci.

Bonjour,

Sheets("base").range("???") = left(textbox1, 13) si le BP provient de la textbox1.

Cdlt,

Bonjour 3GB

Merci pour ton retour, grâce à ton aide j'ai pu l'adapter a ma macro.

Cela fonctionne mais par contre ca ne prend plus en compte la formule avec le doublon.

Ci dessous le code adapté en rouge et surligné en jaune

Ex: Lorsque je scanne le code barre 2033205662762.G0011, il retranscrit bien le code 2033205662762.

Si je scanne un 2ème code barre (les 13 premiers chiffres sont les mêmes) 2033205662762.P0003, il retranscrit bien le code 2033205662762 Mais je n'ai plus mon message qui me dit "("Attention, colis en stock pour ce BP à l'emplacement: " & Emp)"

Sais tu comment pourrais je le remettre en place?

Private Sub Validation_Click()
Dim Doublon As String
'--- Positionnement dans la base
ligne = Sheets("BASE").[A65000].End(xlUp).Row + 1
If Me.TextBox1.Value = "" Then MsgBox "Veuillez scanner le code barre svp"
'--- Recherche d'un doublon dans la base
With Sheets("BASE").Range("A1:A" & ligne)
On Error Resume Next
Doublon = .Find(Me.TextBox1)
If Doublon <> "" Then Lig = .Find(Me.TextBox1).Row: Emp = .Range("C" & Lig): MsgBox ("Attention, colis en stock pour ce BP à l'emplacement: " & Emp)
End With
'--- Transfert Formulaire dans BASE
Sheets("BASE").Cells(ligne, 1) = UCase(Me.TextBox1)
Sheets("BASE").Cells(ligne, 1) = Left(TextBox1, 13)

Sheets("BASE").Cells(ligne, 2) = Date 'date du jour
'If Me.TextBox1.Value = "" Then MsgBox "Veuillez scanner le code barre svp"
If TextBox1.Value = "" Then Exit Sub
Unload Me
Valider_emplacement.Show
End Sub

Bonjour Cédric07, le Forum,

Si tu souhaites que 13 caractères, il faut aussi que ce qui est entré au départ dans le TextBox soit comparer sur 13 caractères et non sur l'ensemble.

Donc comme ci-dessous.

Doublon = .Find(Left(Me.TextBox1, 13))

Changer aussi la ligne en dessous où se trouve aussi un Find à l'identique.

Bonjour Xcellus, 3GB

Effectivement c'est logique de modifier l'entrée de mon Textbox.

Ca fonctionne très bien, merci à tous les deux.

Je clôture ces posts

Bonne continuation

Rechercher des sujets similaires à "supprimer derniers caracteres mon userform"