extaire un N° de Bon d'un texte

dindin

XLDnaute Occasionnel
Bonjour le forum ;
Je cherche un code en vba qui pourra eventuellement m'aider à extaire un N° de Bon dans un texte qui pourra depasser les 255 caractères.
ex : en F8 j'ai ce texte :
ffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt Bon N° : 2322ttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

je voulais extraire en L8 ce fameux Bon N°
En L8 : 2322.
Pour le moment j'utilise cette formule :
=SI(NB.SI(F8;"*Bon N°*")=1;STXT(F8;TROUVE("Bon N°";F8;1)+7;4);"")
mais cette formule elle bloque de temps en temps je sais pas pourquoi
Merci à vous
 

camarchepas

XLDnaute Barbatruc
Re : extaire un N° de Bon d'un texte

Bonjour Dindin,

Tous mes voeux pour cette nouvelle année 2013 ....

Une solution possible parmis tant d'autre :

Code:
Option Explicit

Sub trouve()

 Dim NumBon As String

  NumBon = Mid(Range("A1"), InStr(1, Range("A1"), "Bon N") + 9, 4)

End Sub
 

job75

XLDnaute Barbatruc
Re : extaire un N° de Bon d'un texte

Bonsoir à tous,

Une fonction VBA à placer dans un module standard :

Code:
Function BON(t As String) As Variant
Dim p As Integer
t = Application.Trim(LCase(Replace(t, ":", ""))) 'SUPPRESPACE
p = InStr(t, "bon n°")
If p = 0 Then BON = "": Exit Function
BON = Val(Mid(t, p + 7))
End Function
et à utiliser dans la feuille de calcul par =BON(A1)

A+
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
524

Statistiques des forums

Discussions
312 946
Messages
2 093 824
Membres
105 847
dernier inscrit
Ponette94