Bonjour à tous,

Voilà j'utilise le logiciel BARTENDER pour imprimer des étiquettes de numéro de série de divers produits, qui se connecte à une base de donnée Excel.
Dans mon exemple, ce sera des voitures pour que ce soit plus facile pour tout le monde...

Voici ma base de donnée type excel :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11

Réf	          Modèledebase	      Incrément
CLIOROUGE	          CLIO	              250
CLIOVERTE	          CLIO	              250
CLIOBLEU	          CLIO	              250
CLIORS	          CLIO	              250
TWINGORROSE	  TWINGO	              125
TWINGO NOIRE	  TWINGO	              125
MEGANEWRC	  MEGANE	              513
MEGANELUXE	  MEGANE	              513
Fonctionnement :

Lorsque j'imprime une étiquette de numéro de série pour une voiture, le soft Bartender se connecte au fichier excel et incrémente l'incrément du modèle de base, donc toutes les réf possibles pour ce modèle.
Exemple : si j'imprime une clio, l'incrément passe de 250 à 251 pour les réf "CLIOROUGE", "CLIOVERT", "CLIOBLEU", "CLIORS"....
De manière à ce que n'importe quelle Clio ai un numéro de série unique quelque soit la couleur.

Voici mon code VBScript dans bartender :

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
19
20
21
22
23
24
25
 
'Called for each new record read from the current database selected.
 
'Define the object names.
dim objConn
dim strConn
dim rs
 
'Define the database connection parameter constants.
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001
 
'Connect to the Excel file.
Set objConn = CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Seagull\BDD BARTENDER.xls';Extended Properties=""Excel 8.0;HDR=YES;"""
 
'Create a record set of one record which is the current record being printed.
Set rs = CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM [Sheet1$]", objConn, adOpenStatic, adLockOptimistic, adCmdText
rs.Find "Réf = '" & Field("Sheet1$.Réf") & "'"
 
'Set the "Printed" field of the record to be "YES" thus flagging it as having been printed.
rs.Fields("Incrément") = (rs.Fields("Incrément").value + 1)
rs.Update
Ce code fonctionne, il incrémente mais sur la ligne de réf "Cliorouge" par exemple uniquement, pas sur toutes les clio...

Avez-vous une idée de comment faire pour l'adapter en conséquence ?

Merci pour votre précieuse aide !