Gestion des guillemets dans boucle + if
Résolu
Quenton
-
Quenton -
Quenton -
Bonjour le forum,
J'ai une question sur un programme que j'ai écrit. Voici l'extrait du code qui me pose problème. En gros je veux parcourir la colonne C deux fois. Une fois pour trouver une cellule égale à Code et l'autre fois pour trouver une cellule égale à Bracket.
Code = Left(Cells(j, "C"), 6)
Bracket = Right(Cells(j, "C"), 7)
Bracket = Left(Bracket, 6)
For k = 2 To LastLine
If Cells(k, "C") = Code Then
For m = 2 To LastLine
If Cells(m, "C") = Bracket Then
Cells(j, "C").EntireRow.Select
Le problème :
Je trouve une cellule égale à Code, et en vérifiant c'est effectivement vrai.
Je ne trouve pas de cellule égale à Bracket, alors qu'en vérifiant il y en a une !
Une piste :
Quand sur VB je place ma souris sur
Cells(k, "C") il affiche "711020"
Code il affiche "711020"
Cells(m, "C") il affiche 711520
Bracket il affiche "711520"
Voilà, il y a donc ce problème de guillemet que je n'arrive pas à comprendre...
Je cherche depuis des plombes sans avancer, donc si quelqu'un voit une solution potentielle, ce serait très gentil de la partager !
Merci beaucoup !
J'ai une question sur un programme que j'ai écrit. Voici l'extrait du code qui me pose problème. En gros je veux parcourir la colonne C deux fois. Une fois pour trouver une cellule égale à Code et l'autre fois pour trouver une cellule égale à Bracket.
Code = Left(Cells(j, "C"), 6)
Bracket = Right(Cells(j, "C"), 7)
Bracket = Left(Bracket, 6)
For k = 2 To LastLine
If Cells(k, "C") = Code Then
For m = 2 To LastLine
If Cells(m, "C") = Bracket Then
Cells(j, "C").EntireRow.Select
Le problème :
Je trouve une cellule égale à Code, et en vérifiant c'est effectivement vrai.
Je ne trouve pas de cellule égale à Bracket, alors qu'en vérifiant il y en a une !
Une piste :
Quand sur VB je place ma souris sur
Cells(k, "C") il affiche "711020"
Code il affiche "711020"
Cells(m, "C") il affiche 711520
Bracket il affiche "711520"
Voilà, il y a donc ce problème de guillemet que je n'arrive pas à comprendre...
Je cherche depuis des plombes sans avancer, donc si quelqu'un voit une solution potentielle, ce serait très gentil de la partager !
Merci beaucoup !
A voir également:
- Gestion des guillemets dans boucle + if
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion photo gratuit - Guide
- Gestion des fichiers - Télécharger - Gestion de fichiers
- Gestion autorisation application android - Guide
- Logiciel gestion cabinet médical gratuit - Télécharger - Organisation
2 réponses
Bonjour,
Il y a donc une différence de type.
Cells(m, "C") il affiche 711520 ===> type Long (nombre entier)
Bracket il affiche "711520" ===> type String (chaîne de caractères).
Si tu cherches un string et que dans ta cellule tu as un long, il ne te le trouveras pas.
Alors soit tu cherches un string dans des string :
Soit tu cherches un long dans des long :
Cordialement,
Franck P
Il y a donc une différence de type.
Cells(m, "C") il affiche 711520 ===> type Long (nombre entier)
Bracket il affiche "711520" ===> type String (chaîne de caractères).
Si tu cherches un string et que dans ta cellule tu as un long, il ne te le trouveras pas.
Alors soit tu cherches un string dans des string :
For m = 2 To LastLine If CStr(Cells(m, "C")) = Bracket Then
Soit tu cherches un long dans des long :
For m = 2 To LastLine If Cells(m, "C") = CLng(Bracket) Then
Cordialement,
Franck P