Vba match se trompe de ligne

Résolu/Fermé
geo0258 Messages postés 20 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 9 janvier 2019 - 3 janv. 2019 à 18:49
geo0258 Messages postés 20 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 9 janvier 2019 - 9 janv. 2019 à 17:23
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 4 janv. 2019 à 00:42
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 mercredi 25 janvier 2012 Statut Membre Dernière intervention 9 janvier 2019
9 janv. 2019 à 17:23
Des fois on va chercher si loin alors que c'est pourtant si simple. Merci Patrice, ça a fonctionné
0