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

evaluate qui ne marche pas

16 réponses
Avatar
magic-dd
bonsoir

dans une macro, j'ai fais une boucle avec un evaluate mais le resultat
me donne un #valeur dans mon fichier excel

j'ai donc remplacer l'evaluate par la formule qui elle fonctionne

quel est le probleme donc ?

voici mes 2 lignes de code

rc31 = colonne AE

Range("T" & i) = "=IF(RC[31]<39,""SENIOR"",IF(RC[31]
>49,""V2"",""V1""))"


'Range("T" & i) = Evaluate("=IF(RC[31]<39,""SENIOR"",IF(RC[31]
>49,""V2"",""V1""))")

merci

10 réponses

1 2
Avatar
JB
Bonsoir,

Dans Evaluate, on ne met pas de signe =

http://boisgontierjacques.free.fr/pages_site/evaluate.htm

JB


On 4 nov, 18:20, magic-dd wrote:
bonsoir

dans une macro, j'ai fais une boucle avec un evaluate mais le resultat
me donne un #valeur dans mon fichier excel

j'ai donc remplacer l'evaluate par la formule qui elle fonctionne

quel est le probleme donc ?

voici mes 2 lignes de code

rc31 = colonne AE

         Range("T" & i) = "=IF(RC[31]<39,""SENIOR"",IF(RC[3 1]

>49,""V2"",""V1""))"

       'Range("T" & i) = Evaluate("=IF(RC[31]<39,""SENIOR"",I F(RC[31]

>49,""V2"",""V1""))")

merci


Avatar
magic-dd
merci JB

je viens de l'enlever ce signe = mais rien y change

j'ai un # valeur en ("T"& i)

merci
Avatar
isabelle
bonjour magic,

apres test, tout fonctionne bien,

Sub test1()
i = 1
Range("T" & i) = Evaluate("=IF(AE1<39,""SENIOR"",IF(AE1>49,""V2"",""V1""))")
End Sub

isabelle

magic-dd a écrit :
merci JB

je viens de l'enlever ce signe = mais rien y change

j'ai un # valeur en ("T"& i)

merci




Avatar
magic-dd
Salut isabelle

la je ne comprends plus

car ici ca merdouille
je pense que ma ligne avec RC[31] me pose des soucis

J'ai donc teste ca
mais comme d'hab, je suis une truffe ca marche pas

Sub test()
For i = 1 To 5
age = ("b" & i)
Range("a" & i) = Evaluate("=IF(age<39,""SENIOR"",IF
(age>49,""V2"",""V1"")))))")
Next
End Sub
Avatar
isabelle
salut magic,

essaie comme ça,

Sub test()
For i = 1 To 5
Set age = Range("b" & i)
Range("a" & i) = Evaluate("=IF(" & age.Address & "<39,""SENIOR"",IF(" &
age.Address & ">49,""V2"",""V1"")))))")
Next
End Sub

isabelle

magic-dd a écrit :
Salut isabelle

la je ne comprends plus

car ici ca merdouille
je pense que ma ligne avec RC[31] me pose des soucis

J'ai donc teste ca
mais comme d'hab, je suis une truffe ca marche pas

Sub test()
For i = 1 To 5
age = ("b" & i)
Range("a" & i) = Evaluate("=IF(age<39,""SENIOR"",IF
(age>49,""V2"",""V1"")))))")
Next
End Sub




Avatar
magic-dd
Salut isabelle

la je ne comprends plus

car ici ca merdouille
je pense que ma ligne avec RC[31] me pose des soucis

J'ai donc teste ca
mais comme d'hab, je suis une truffe ca marche pas

Sub test()
For i = 1 To 5
age = ("b" & i)
Range("a" & i) = Evaluate("=IF(age<39,""SENIOR"",IF
(age>49,""V2"",""V1"")))))")
Next
End Sub
Avatar
Solutions-xl
Bonjour,
Je trouve ca moche "evaluate"
Je te propose ca, ou alosr la fonction en dessous
Sub calculcat()
'I = à la ligne à tester
For i = 2 To 6
If Cells(i, 2) < 39 Then 'Je préfére cells à range !!
Cells(i, 1) = "Sénior"
ElseIf Cells(i, 2) > 49 Then
Cells(i, 1) = "V2"
Else
Cells(i, 1) = "V1"
End If
Next
End Sub

Function Fcalculcat(ByVal c As Range)
If c < 39 Then
Fcalculcat = "Sénior"
ElseIf c > 49 Then
Fcalculcat = "V2"
Else
Fcalculcat = "V1"
End If
End Function
Philippe
www.solutions-xl.com

On 4 nov, 19:23, magic-dd wrote:
Salut isabelle

la je ne comprends plus

car ici ca merdouille
je pense que ma ligne avec  RC[31] me pose des soucis

J'ai donc teste ca
 mais comme d'hab, je suis une truffe ca marche pas

Sub test()
For i = 1 To 5
age = ("b" & i)
Range("a" & i) = Evaluate("=IF(age<39,""SENIOR"",IF
(age>49,""V2"",""V1"")))))")
Next
End Sub


Avatar
Fredo P.
Je n'ai pas cherché à comprendre, cette suivante fonctionne
Range("T" & i) = Evaluate("=iF(AG3<39,""" & "SENIOR" & """,IF(AG3>49,""" &
"V2" & """, """ & "V1" & """))")
celle ci pas
Range("T" & i) = Evaluate("=iF(RC[31]<39,""" & "SENIOR" &
""",IF(RC[31]<49,""" & "V2" & """, """ & "V1" & """))")
--

Fredo P.


"magic-dd" a écrit dans le message de news:

bonsoir

dans une macro, j'ai fais une boucle avec un evaluate mais le resultat
me donne un #valeur dans mon fichier excel

j'ai donc remplacer l'evaluate par la formule qui elle fonctionne

quel est le probleme donc ?

voici mes 2 lignes de code

rc31 = colonne AE

Range("T" & i) = "=IF(RC[31]<39,""SENIOR"",IF(RC[31]
49,""V2"",""V1""))"




'Range("T" & i) = Evaluate("=IF(RC[31]<39,""SENIOR"",IF(RC[31]
49,""V2"",""V1""))")



merci


Avatar
magic-dd
je me disais qu'une fois de plus tu avais résolu mon probleme

et bien non pas là

ca me mets des # valeurs

c trop bizarre

j'ai meme essayé en enlevant le : ( comme le disait JB mais rien

Sub test()

For i = 1 To 5
Set age = Range("b" & i)
Range("a" & i) = Evaluate("=IF(" & age.Address & "<39,""SENIOR"",IF("
& age.Address & ">49,""V2"",""V1"")))))")
Next
End Sub
Avatar
magic-dd
Merci pour toutes les aides reçues

j'ai essayé d'adapter celle de fredo P

Sub test()

For i = 1 To 5
age = Range("b" & i)
Range("a" & i) = Evaluate("=iF(age<39,""" & "SENIOR" & """,IF
(age>49,""" & "V2" & """, """ & "V1" & """))")
Next
End Sub


et vous savez quoi

!! ça ne marche pas!!


ça doit venir de la variable age il doit manquer des " ou bien des &

sinon pour celle de solution xl je ne souhaite pas faire de boucle car
mon souci sera deja integré à une boucle avec i

merci tout de meme
1 2