Re,
Bon j'ai un problème avec ton fichier. Comme je suis sous XP 2010 64 bits il me faut commenter tout le code du Module2 pour que VBA fonctionne. Ça a certainement une incidence sur la suite... mais je ne peux pas tester sans faire cela.
Du coup, je commente aussi le code d'Initialisation et d'Activation de l'Userform qui fait référence au Module2...
Maintenant quand je teste ça marche car j'ai converti le numéro en texte.
Seuls soucis :
• ça renvoie l'heure dans la TextBox T2 mais pas au bon format, il te faudra adapter...
• Je ne sait pas pourquoi j'ai une erreur sur la ligne :
Cb3 = TV(I, 7) 'renvoie la donnée ligne I colonne 7 de TV dans Cb3
uniquement pour la valeur 87452. Pour les autres ça marche, je n'explique pas pourquoi ?
Peut-être que chez toi avec le code complet ça marchera... Dis moi.
Code à rajouter dans l'Userform :
Private Sub T3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Long 'déclare la variable I (Incrément)
Set O = Worksheets("BD") 'définit l'onglet O
TV = O.Range("A3").CurrentRegion 'définit le tableau de valeurs TV
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
If CStr(TV(I, 3)) = Me.T3.Value Then 'condition : si la donnée ligne I colonne 3 de TV est égale à la valeur de T3
Cb1 = TV(I, 1) 'renvoie la donnée ligne I colonne 1 de TV dans Cb1
Cb2 = TV(I, 2) 'renvoie la donnée ligne I colonne 2 de TV dans Cb2
Cb3 = TV(I, 7) 'renvoie la donnée ligne I colonne 7 de TV dans Cb3
T1 = TV(I, 17) 'renvoie la donnée ligne I colonne 17 de TV dans T1
T2 = TV(I, 18) 'renvoie la donnée ligne I colonne 18 de TV dans T2
End If 'fin d la condition
Next I 'prochaine ligne de la boucle
End Sub