[vba] remplir un tableau excel depuis une table access [Résolu]

Signaler
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
-
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
-
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

Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
2
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci