Application.match - erreur 2042

Bonjour,

sur la plage sheets("données").Range("x4:x240"), je cherche à trouver dans quel numéro de colonne se trouve la date que j'ai renseignée en cellule B2 de mon onglet "Bericht".

J'utilise pour ça la fonction vba Application.match qui remplace la formule equiv() d'Excel.

Cela me retourne par contre une "erreur 2042"

Dim i, j, k As Integer
Dim date1 As String
Dim tab_coordonnees(1, 50)

date1 = Sheets("Bericht").Range("B2").Value
tab_coordonnees(0, 0) = Application.Match(date1, Worksheets("données").Range("x4:x240"), 0)

Pouvez-vous me dire où se trouve mon erreur de syntaxe? Je ne trouve pas malgré plusieurs tentatives.

merci

Bonjour,

Quel est exactement le contenu de la cellule B2 ?

Une date (valeur numérique) ?

Cdlt.

Bonjour,

 tab_coordonnees(0, 0) = Application.Match(date1, Worksheets("données").Range("x4:x240").Value, 0)

Bonjour,

La solution proposée par thev ne marche hélas pas.

Dans ces cellules sont rentrées des dates.

La mise en forme des dates en fonction de l'onglet n'est par contre pas la même. Peut-être cela influe sur le résultat.

L'idée totale est de récupérer dans le tableau tab_coordonnees toutes les cooordonnées de cellules dont la couleur intérieur est rouge pour le mois sélectionné.

La première étape est donc de trouver dans quelle colonne regarder à partir du mois rentré.

En pièce-jointe, le fichier.

merci

36exemple-probleme.xlsm (307.43 Ko)

Bonjour,

ceci serait mieux :

tab_koordinaten(0, 0) = Application.Match(date1, Worksheets("données").Range("X4:CE4").Value, 0)

et cela plus aisé d'utilisation:

tab_koordinaten(0, 0) = Application.Match(date1, Worksheets("données").UsedRange.Rows(4).Value, 0)
Rechercher des sujets similaires à "application match erreur 2042"