Vba match se trompe de ligne

Résolu
geo0258 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
geo0258 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous. Ça fait plusieurs heures que je m'égosille à comprendre pourquoi une application match tout simple sur vba me renvoie une erreur 2042.

Après multiples tentatives de réécriture, de changements de format etc, j'ai pu voir que erreur 2042 signifie qu'il ne trouve pas le résultat. J'ai donc testé à tout hasard de voir si excel allait bien chercher le resultat dans la bonne ligne. Et j'ai enfin trouvé que : alors que je demandais de faire un match sur la ligne 6 (que j'ecris rows("6, 6")) excel me donnait le résultat de la ligne 7. Et donc quand dans ma formule vba j'ai remplacé rows("6, 6") par rows("5, 5"), j'ai trouvé le resultat que je voulais bien qu'il soit en realité dans excel en ligne 6.

J'ai testé toutes les lignes depuis la ligne 1 et le décalage se créé a partir de la ligne 4. Je n'ai aucune idée du pourquoi du comment, j'ai essayé d'enlever les volets figés, de recopier l'onglet dans un nouveau fichier mais rien n'y fait. Une idée ? Est-ce que quelqu'un a déjà eu ce genre de problèmes ?

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour

La bonne syntaxe est Rows("6:6") ou plus simplement Rows(6)
6,6 est un nombre décimal arrondi à 7 ; et 5,5 à 6 ; et 4,4 à 4

1
geo0258 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Des fois on va chercher si loin alors que c'est pourtant si simple. Merci Patrice, ça a fonctionné
0