XL 2016 Erreur formule matricielle en vba

Nestor

XLDnaute Nouveau
Bonjour à tous

J'essaie avec le code suivant d'appliquer à un cellule trouvée après recherche dans une colonne, une formule matricielle qui va chercher la 1ere valeur d'une autre colonne
et qui me donne une erreur 1004 "impossible de définir la propriété FormulaArray de la classe Range"

Set Plage = Range("J1:J" & Range("A" & Rows.Count).End(xlUp).Row)
For Each cel In Plage
If cel = 0 Then
cel.Offset(0, 2).FormulaArray = "=INDEX(R[-23]C:R[65513]C,MATCH(TRUE,R[-23]C:R[65513]C<>"""",0)"
End If
Next

Merci infiniment pour votre aide
 

Nestor

XLDnaute Nouveau
Bonsoir

J'ai oublié la parenthèse de fin et ça fonctionne, c'est parfait

En revanche le R[-23] m'est donné par l'enregistreur de macro quand j'écris la formule matricielle

{=INDEX(L1:L65537;EQUIV(VRAI;L1:L65537<>"";0))}

J'avoue ne pas bien saisir car il s'agit de la colonne L
 

Nestor

XLDnaute Nouveau
Bonjour,
Effectivement si ma condition est atteinte une 2ème fois la formule va tester L1048563 à cause du débordement
Ce que je souhaite faire c'est:
1) Dès que ma condition est atteinte dans ma colonne J (Il peut y avoir plusieurs cellules à 0)
2) Je vais chercher la 1ère valeur atteinte de la colonne L et je la copie dans la cellule de cette même colonne à la ligne de ma condition
avec Offset(0,2)
Je pense avoir été un peu plus clair
Merci encore
 

Modeste geedee

XLDnaute Barbatruc
Bonjour à tous

J'essaie avec le code suivant d'appliquer à un cellule trouvée après recherche dans une colonne, une formule matricielle qui va chercher la 1ere valeur d'une autre colonne
et qui me donne une erreur 1004 "impossible de définir la propriété FormulaArray de la classe Range"

Set Plage = Range("J1:J" & Range("A" & Rows.Count).End(xlUp).Row)
For Each cel In Plage
If cel = 0 Then
cel.Offset(0, 2).FormulaArray = "=INDEX(R[-23]C:R[65513]C,MATCH(TRUE,R[-23]C:R[65513]C<>"""",0)"
End If
Next

Merci infiniment pour votre aide
Oupsss!!!
 

eriiic

XLDnaute Barbatruc
Il ne s'agit pas de compétition, mais de travailler pour rien. Autant que d'autres profitent de mon temps libre.
Attend au moins 24h sans réponse et signale-le, juste par respect pour les intervenants qui peuvent agir en connaissance de cause.
eric
 

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 070
dernier inscrit
jujulop