Problème de boucle avec array

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 23 janv. 2006 à 21:48
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 24 janv. 2006 à 05:48
Bonsoir à tous...

A partir d'une base de données Access, je cherche à simplifier mon script par une boucle
.....et je ne sais pas comment m'y prendre !!!

Context:
J'ai x usines
site= array ("ALES", "BOUR", "PNEU"...)
ALES corresPond à TPEA
BOUR correspond à TPEB
PNEU correspond à IMTP
CHIN correspond à CHIN
MEXI correspond à MEXI

Comment faire pour simplifier le code suivant, en prévoyant d'ajouter x usines
afin de ne pas répeter les mêmes calculs:

'Initialisation date début et date fin du 1er lancement de TDS-IMTP (usine de La Plaine)
If jobid = "TDS-IMTP" Then
If i_PNEU = 0 Then
tds_PNEU_deb = Rs.Fields(2)
tds_PNEU_fin = Rs.Fields(3)
i_PNEU = i_PNEU + 1
End If
End If
'Initialisation date début et date fin du 1er lancement de TDS-TPEA (usine d'Alès)
If jobid = "TDS-TPEA" Then
If i_ALES = 0 Then
tds_ALES_deb = Rs.Fields(2)
tds_ALES_fin = Rs.Fields(3)
i_ALES = i_ALES + 1
End If
End If
'Initialisation date début et date fin du 1er lancement de TDS-BOUR (usine de Bourguébus)
If jobid = "TDS-TPEB" Then
If i_BOUR = 0 Then
tds_BOUR_deb = Rs.Fields(2)
tds_BOUR_fin = Rs.Fields(3)
i_BOUR = i_BOUR + 1
End If
End If
'Initialisation date début et date fin du 1er lancement de TDS-CHIN (usine de Chine)
If jobid = "TDS-TPEC" Then
If i_CHIN = 0 Then
tds_CHIN_deb = Rs.Fields(2)
tds_CHIN_fin = Rs.Fields(3)
i_CHIN = i_CHIN + 1
End If
End If
'Initialisation date début et date fin du 1er lancement de TDS-MEXI (usine du Mexique)
If jobid = "TDS-MEXI" Then
If i_MEXI = 0 Then
tds_MEXI_deb = Rs.Fields(2)
tds_MEXI_fin = Rs.Fields(3)
i_MEXI = i_MEXI + 1
End If
End If

Si quelqu'un peux m'orienter.
Merci.
jean-marc

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 janv. 2006 à 23:55
Salut
Non, rien à faire.
Tes "jobid" ayant tous des textes différents, il n'est pas possible de d'indexer.
Eventuellement oui, si il n'y a qu'une seule série de donnée pour chaque type.
Si tu veux seulement faire du plus rapide, tu peux remplacer tes If par un Select Case :

Select Case jobid
Case "TDS-MEXI"
tds_MEXI_deb = Rs.Fields(2)
tds_MEXI_fin = Rs.Fields(3)
i_MEXI = i_MEXI + 1
Case "Troulalaîtoo"
...
End Select

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 janv. 2006 à 05:48
Bonjour,

Merci quand même Jack.
J'avais déjà utilisé les select case, mais je trouvais pas cela optimisé....
J'essaie avec
call + function + replace(.....)

jean-marc
0
Rejoignez-nous