Fonction MATCH + INDEX VBA

Bonjour à vous,

Je repose mon problème différemment.

J'essaie de combiner les fonctions match et index.

D’après un numéro de poste et une date, je recherche sur un planning le numéro du produit.

En rouge les cases qui me servent à la recherche en jaune la place du résultat. (c'est une cellule mais c'est aussi bien si c'est toute la ligne).

Je vous met un fichier à disposition.

J'ai fait une macro mais erreur 1004 :

impossible de lire la propriete index de la classe worksheetfunction...

Merci à vouuuuuus


91exemple.xlsm (31.84 Ko)

bonjour

pas de souci sur ta synthaxe des range.

pour une raison qui m'échappe vba n'accepte pas l'utilisation deux fois de suite de la méthode match.

voici une synthaxe pour ton souci :

Sub app()
Dim ws As Worksheet
Dim i As Byte

Set ws = Sheets("PLANNING")

For i = 1 To 40
    If Sheets("REGIO VE PM40 à PM43").Range("e6") = ws.Range("d1:aq1").Item(i) Then Exit For
Next i
With Application.WorksheetFunction
    Range("f6") = .Index(ws.Range("d2:aq10"), .Match(Sheets("REGIO VE PM40 à PM43").Range("a6").Value, ws.Range("b2:b10"), 0), i)
End With
End Sub

a plus

Bonjour,

tu reçois le message d'erreur parce qu'il ne trouve pas l'info que tu lui demandes de chercher. car la recherche se fait en comparant une date transformée en texte et une date qui est mémorisée en mode double binaire.

utilise la fonction de conversion dans l'appel de la fonction

Application.Match(CDbl(Sheets("REGIO VE PM40 à PM43").Range("e6").Value), Sheets("PLANNING").Rows(1), 0)

Bonjour,

Merci à vous, vos solutions marchent parfaitement !

merci, merci, merci !

Bonne journée

Rechercher des sujets similaires à "fonction match index vba"