Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec FormulaLocal

3 réponses
Avatar
Vallebarray
Dans le code suivant les lignes 1à 3 fonctionnent, mais la ligne 4 ouvre une
fenêtre d'erreur 1004 "erreur définie par l'application ou par l'objet"

1 With Sheets("calc")
2 .Range("J2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;13)"

3 .Range("K2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;12)"

4 .Range("L2").FormulaLocal =
"=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
5 End With

Je ne comprend pas ce qui se passe, quelqu'un aurait il une idée ?

Merci d'avance
--
Le galérien

3 réponses

Avatar
J&B
Bonjour

4 .Range("L2").FormulaLocal "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"""";RECHERCHEV(Type;AA1062:AM1571;3))"


"Vallebarray" a écrit dans le
message de news:
Dans le code suivant les lignes 1à 3 fonctionnent, mais la ligne 4 ouvre
une
fenêtre d'erreur 1004 "erreur définie par l'application ou par l'objet"

1 With Sheets("calc")
2 .Range("J2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;13)"

3 .Range("K2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;12)"

4 .Range("L2").FormulaLocal > "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
5 End With

Je ne comprend pas ce qui se passe, quelqu'un aurait il une idée ?

Merci d'avance
--
Le galérien


Avatar
Vallebarray
Oui, ça marche et c'est étonnant puisque la formule créee par ce code est :
.Range("L2").FormulaLocal > "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
Pourquoi le code est il différent ? (4 doubles cotes au lieu de 2)
En tous cas, merci J&B.
--
Le galérien.


"J&B" a écrit :

Bonjour

4 .Range("L2").FormulaLocal > "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"""";RECHERCHEV(Type;AA1062:AM1571;3))"


"Vallebarray" a écrit dans le
message de news:
> Dans le code suivant les lignes 1à 3 fonctionnent, mais la ligne 4 ouvre
> une
> fenêtre d'erreur 1004 "erreur définie par l'application ou par l'objet"
>
> 1 With Sheets("calc")
> 2 .Range("J2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;13)"
>
> 3 .Range("K2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;12)"
>
> 4 .Range("L2").FormulaLocal > > "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
> 5 End With
>
> Je ne comprend pas ce qui se passe, quelqu'un aurait il une idée ?
>
> Merci d'avance
> --
> Le galérien





Avatar
Rouch
Bonjour,

Il s'agit d'une règle de syntaxe pour que, dans VBA, il puisse
distinguer les " de code VBA [Celui qui est après ton >] et les " des
formules [celui au milieu de ta formule].
La règle est qu'un "" dans une formule locale soit transformé dans la
feuille excel en un simple "

@+


Oui, ça marche et c'est étonnant puisque la formule créee par ce code est :
.Range("L2").FormulaLocal >> "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
Pourquoi le code est il différent ? (4 doubles cotes au lieu de 2)
En tous cas, merci J&B.
--
Le galérien.


"J&B" a écrit :

Bonjour

4 .Range("L2").FormulaLocal >> "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"""";RECHERCHEV(Type;AA1062:AM1571;3))"


"Vallebarray" a écrit dans le
message de news:
Dans le code suivant les lignes 1à 3 fonctionnent, mais la ligne 4 ouvre
une
fenêtre d'erreur 1004 "erreur définie par l'application ou par l'objet"

1 With Sheets("calc")
2 .Range("J2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;13)"

3 .Range("K2").FormulaLocal = "=RECHERCHEV(Type;AA1062:AM1571;12)"

4 .Range("L2").FormulaLocal >>> "=SI(ESTERREUR(RECHERCHEV(Type;AA1062:AM1571;3));"";RECHERCHEV(Type;AA1062:AM1571;3))"
5 End With

Je ne comprend pas ce qui se passe, quelqu'un aurait il une idée ?

Merci d'avance
--
Le galérien