[VBA] Bug pour récupérer un champ dans une table

Résolu
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 17 août 2005 à 15:37
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 17 août 2005 à 16:23
Bonjour,



Je rencontre un problème en allant chercher une information dans un table avec VBA.

Je dispose d'une table ListePollens contenant (entre autres) les champs : Taxons et somme2

Mon code :



Dim rst As DAO.Recordset

Dim MySQL, lettre As String

Dim compteur, compteur1 As Integer

...

compteur = 0

compteur1 = 0

MySQL "SELECT somme2 FROM ListePollens WHERE ([Taxon] '" & xl.Cells(i, 1).Value & "');"

Set rst = CurrentDb.OpenRecordset(MySQL, dbOpenDynaset, dbReadOnly)

If rst.EOF False And rst.BOF False Then lettre = rst![somme2]

If lettre "A" Then compteur compteur + xl.Cells(i, j).Value

If lettre "a" Then compteur1 compteur1 + xl.Cells(i, j).Value

...



Le champs somme2 contient soit un A soit un a.

Pour tester mon programme je n'ai mis que des a.

Donc ma variable compteur devrait rester à 0 et seule ma variable compteur1 devrait être incrémentée.

Le problème c'est que ça n'est pas le cas. Ma variable compteur incrémentée à chaque fois, en même temps que compteur1.



Je crois donc que VBA n'arrive pas à faire la distinction entre A et a.

Est-ce que quelqu'un sait comment s'y prendre ?



Merci,

Seb.

3 réponses

cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
17 août 2005 à 16:23
C'est bon en fait j'ai trouvé la solution :



If Asc(lettre) 65 Then compteur compteur + xl.Cells(i, j).Value

If Asc(lettre) 97 Then compteur1 compteur1 + xl.Cells(i, j).Value

au lieu

if lettre ="A" then....

if lettre="a" then ...



Il n'y avait effectivement pas de différence entre un A et un a.
3
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
17 août 2005 à 16:04
Tu utilises xl.Cells(i, 1) et puis xl.Cells(i, j).

c'est quoi i et j ??

PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
0
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
17 août 2005 à 16:10
Alors :



xl.cells(i,1) contient les noms des taxons dans mon fichier excel

xl.cells(i,j) contient la valeur de mon taxon pour chaque colonne.
C'est cette valeur que je veux ajouter à l'un de mes deux compteur
selon la valeur du champ somme2 pour mon taxon.



En tout cas le problème ne vient pas des boucles ça j'en suis sur. Elles ont toutes été testées.



A plus,

Seb.
0