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

Evaluate

2 réponses
Avatar
PST
Bonjour

Pourquoi la deuxi=E8me macro ne fonctionne pas,il y t il une solution pou=
r=20
qu'elle tienne compte des lettres.
le but c'est d'appliquer une matricielle sur un tableau sans =E9crire sur=
=20
le disque.

1)Fonctionne

Sub test_mat_array()
With ActiveWorkbook
.Names.Add Name:=3D"ArrTemp",=20
RefersToR1C1:=3D"=3D{1,2,3,4,5,6,7,8,9,10}"
.ActiveSheet.Cells(1, 1).Value =3D=20
Evaluate("=3DSUMPRODUCT(--(ArrTemp>=3D1),--(ArrTemp<=3D5))")
.Names("ArrTemp").Delete
End With
End Sub


2) Ne foncxtionne pas

With ActiveWorkbook

A =3D 1
B =3D 2
C =3D 3
d =3D 4
E =3D 5
F =3D 6
G =3D 7
H =3D 8
I =3D 9
j =3D 10

=2ENames.Add Name:=3D"ArrTemp", RefersToR1C1:=3D"=3D{A,B,C,D,E,F,G,H,I,J}=
"
=2EActiveSheet.Cells(1, 1).Value =3D=20
Evaluate("=3DSUMPRODUCT(--(ArrTemp>=3D1),--(ArrTemp<=3D6))")
=2ENames("ArrTemp").Delete
End With

merci

2 réponses

Avatar
Daniel
Bonjour
Tu ne peux pas mettre des variables entre guillemets. ("A" est considérré
comme la lettre A, pas come la variable de nom A). Esssaie :

.Names.Add Name:="ArrTemp", _
RefersTo:=Array(A, B, c, d, e, f, g, h, i, j)

Cordialement.
Daniel
"PST" a écrit dans le message de news:
46ccc552$0$25938$
Bonjour

Pourquoi la deuxième macro ne fonctionne pas,il y t il une solution pour
qu'elle tienne compte des lettres.
le but c'est d'appliquer une matricielle sur un tableau sans écrire sur
le disque.

1)Fonctionne

Sub test_mat_array()
With ActiveWorkbook
.Names.Add Name:="ArrTemp",
RefersToR1C1:="={1,2,3,4,5,6,7,8,9,10}"
.ActiveSheet.Cells(1, 1).Value Evaluate("=SUMPRODUCT(--(ArrTemp>=1),--(ArrTemp<=5))")
.Names("ArrTemp").Delete
End With
End Sub


2) Ne foncxtionne pas

With ActiveWorkbook

A = 1
B = 2
C = 3
d = 4
E = 5
F = 6
G = 7
H = 8
I = 9
j = 10

.Names.Add Name:="ArrTemp", RefersToR1C1:="={A,B,C,D,E,F,G,H,I,J}"
.ActiveSheet.Cells(1, 1).Value Evaluate("=SUMPRODUCT(--(ArrTemp>=1),--(ArrTemp<=6))")
.Names("ArrTemp").Delete
End With

merci
Avatar
PST
merci pour l'esplication

Bonjour
Tu ne peux pas mettre des variables entre guillemets. ("A" est considé rré
comme la lettre A, pas come la variable de nom A). Esssaie :

.Names.Add Name:="ArrTemp", _
RefersTo:=Array(A, B, c, d, e, f, g, h, i, j)

Cordialement.
Daniel
"PST" a écrit dans le message de news:
46ccc552$0$25938$
Bonjour

Pourquoi la deuxième macro ne fonctionne pas,il y t il une solution p our
qu'elle tienne compte des lettres.
le but c'est d'appliquer une matricielle sur un tableau sans écrire s ur
le disque.

1)Fonctionne

Sub test_mat_array()
With ActiveWorkbook
.Names.Add Name:="ArrTemp",
RefersToR1C1:="={1,2,3,4,5,6,7,8,9,10}"
.ActiveSheet.Cells(1, 1).Value =
Evaluate("=SUMPRODUCT(--(ArrTemp>=1),--(ArrTemp<=5))")
.Names("ArrTemp").Delete
End With
End Sub


2) Ne foncxtionne pas

With ActiveWorkbook

A = 1
B = 2
C = 3
d = 4
E = 5
F = 6
G = 7
H = 8
I = 9
j = 10

.Names.Add Name:="ArrTemp", RefersToR1C1:="={A,B,C,D,E,F,G,H,I,J} "
.ActiveSheet.Cells(1, 1).Value =
Evaluate("=SUMPRODUCT(--(ArrTemp>=1),--(ArrTemp<=6))")
.Names("ArrTemp").Delete
End With

merci