[vba] remplir un tableau excel depuis une table access

Résolu
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 30 juin 2005 à 10:25
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 30 juin 2005 à 11:11
Bonjour,
Je suis en train d'essayer d'exporter des données d'une table Access vers Excel.
Pour le moment j'ai réussi à exporter dans la première ligne de ma feuille excel des numeros d'échantillons venant d'une table pollens et dans ma première colonne des noms de pollens venant aussi de ma table.
Maintenant ce que j'aimerais faire c'est pour chaque case de ma feuille aller récupérer la valeur du champ nombre dans ma table correspondant au pollen et au numero d'échantillon .
J'ai écrit ce code,

For i = 5 To n ' toutes les lignes de ma feuille en partant de la n° 5
For j = 2 To m ' toutes les colonnes de ma feuille en partant de la n°2
Mysql = "SELECT [nombre] FROM pollens WHERE ([numech]= '" & xl.Cells(1, j).Value & "' AND [taxon] = '" & xl.Cells(i, 1).Value & "');"
Set rst = CurrentDb.OpenRecordset(Mysql, dbOpenDynaset, dbReadOnly)
xl.Cells(j, i).Value = rst![nombre]
Next
Next

J'obtiens un message d'erreur comme quoi il n'existe pas d'enreigstrements correspondant.
Il est possible en effet qu'il n'y ai pas de champ correspondant a ce pollen et à ce numéro d'échantillon dans ma table pollens.

Mes questions sont :
- Mon code est-il juste ?
- Si oui comment dire au programme de continuer la boucle même si il n'y a pas d'enregistrements ?

Merci,
Seb.

1 réponse

cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
30 juin 2005 à 11:11
J'ai réussi à me debuguer en partie:
La solution pour le mssage d'erreur :
If rst.EOF False And rst.BOF False Then
xl.Cells(j, i).Value = rst![nombre]
End If
1
Rejoignez-nous