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

cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention - 17 août 2005 à 15:37 - Dernière réponse : cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention
- 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.
Afficher la suite 

3 réponses

Meilleure réponse
cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention - 17 août 2005 à 16:23
3
Merci
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.

Merci cokinoumasterflash 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

cs_frop01 1356 Messages postés lundi 27 octobre 2003Date d'inscription 19 novembre 2008 Dernière intervention - 17 août 2005 à 16:04
0
Merci
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 !
cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention - 17 août 2005 à 16:10
0
Merci
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.