Bonjour à tous,

Etant en plein développement d'un ERP de transition pour mon entreprise, je souhaite enregistrer toutes les transactions effectuées par un numéro "unique". Ce numéro est construit grâce à la valeur Excel de la date et de l'heure, qui est codé de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    x = TimeValue(Time)
    y = DateValue(Date)
    NoTrans = y & Mid(x, 3, 7)
Mon problème est que ce bout de code est au sein d'une boucle For, et lorsque les opérations s’enchainent, je me retrouve avec un numéro de transaction identique pour certaines lignes de la base de données.

Je ne pense pas que le problème vienne de la rapidité d’exécution du code car j'ai testé avec un "Sleep" à 300ms juste avant la définition du n° de transaction, et le problème survient tout de même.

J'ai tenté de passer par Do While ... de ce type, et ça à l'air de fonctionner, sauf que ça me ralenti de manière assez importante l'exécution :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub NoTransaction()
 
Dim x As Double
Dim y As Double
 
'TransA et TransB sont des variables publiques, déclarées comme "As Double", tandis que NoTrans est déclaré comme "As String"
 
Do While TransA = TransB
 
    x = TimeValue(Time)
    y = DateValue(Date)
    TransA = y & Mid(x, 3, 7)
 
Loop
 
NoTrans = TransA
 
End Sub
Pensez-vous que le problème vienne de "Time" et "Date" ? Auriez-vous une idée sur le sujet ?

Je vous remercie par avance,

Vincent C.