Fonction Match VBA

gerard55

XLDnaute Occasionnel
Bonjour à tous,
J'ai un souci avec le code ci-dessous
Dim ligSacat1 As Integer
Range("J13").Select
ActiveCell.FormulaR1C1 = _
"=MATCH(Listes!R[13]C[-8],planning!R[-12]C[-8]:R[15]C[-8],0)" 'Position (Blecon Annette) n° ligne (ces 3 lignes)
ligSacat1 = [j13]
Lorsque je lance la macro ç a bug. Dans la cellule, lorsque je fais débogage, il m'affiche: "=MATCH(Listes!R[13]C[-8],planning!R[-12]C[-8]:R[15]C[-8],0)" ligSacat1 = [j13] est en jaune

Si quelqu'un voit ce qu'il se passe, merci d'avance
A+ Gérard
 
Dernière édition:

MichD

XLDnaute Impliqué
Re : Fonction Match VBA

Dans ta question initiale, tu dis : "ligSacat1 = [j13] est en jaune"

Le type "Integer" est attribué à la variable "ligSacat1".

On sait que si la fonction "Match" (Equiv()) ne trouve pas, elle retourne
une valeur d'erreur #Valeur!

Comme le type de ta variable "ligSacat1" est "Integer", il n'est pas compatible
avec une valeur d'erreur et par conséquent une erreur est générée.

Dans ce cas, il faudrait que tu attribues le type "Variant" à ta variable.

En fait, ce n'est pas la syntaxe "With .... End With" qui fonctionne mais le
fait que la fonction ne retourne pas une valeur d'erreur!


MichD
-----------------------------------------------------
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma