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

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

3 réponses

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

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

Codes Sources a aidé 97 internautes ce mois-ci

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