Récupérer un type String issue cellule dans Excel en macro VB [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
13 novembre 2006
-
Messages postés
2
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
13 novembre 2006
-
Bonjour,

Voila j'ai un petit problème qui va vous semblez trés simple je pense, mais je ne suis habitué des macros vb dans excel

Comment puis-je récupérer un type String en retour de range("A2").Value
Car dans le code ci-dessous il me met incompatibilité de type alors que
xls2.Worksheets(1).Range("c" & CStr(i)) <> "11E" fonctionnent trés bien

i = 3
While xls2.Worksheets(1).Range("c" & CStr(i)).Value <> xls1.Worksheets(1).Range(Pos_Field_Ref).Value
    i = i + 1
Wend

Merci d'une réponse rapide de votre part, cela me débloquerait

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

remplace le .Value par .Text

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Et le Cast dans

Range("c" & CStr(i))

n'est pas nécessaire dans ce genre de code VBA


Tu peux tout aussi bien écrire

Range("c" & i)


Et comme l'a bien dit Mortalino, .Text te renvoie la valeur textuelle de la cellule


De plus, si tu fais des comparaisons de texte et que la casse peut
différer, il est préférable de forcer les majuscules ou minuscules lors
de la comparaison

If LCASE("MOT") = LCASE("mot") then ... ' retourne Vrai

ou

If UCASE("MOT") = UCASE("mot") then ... ' retourne Vrai aussi

mais

If "MOT" = "mot" then ...  ' retourne Faux

MPi
Messages postés
2
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
13 novembre 2006

Merci pour les réponses, c'est ce que je voulais