Curiosit=E9 du lundi matin,
je me demandais s'il =E9tait possible d'utiliser des variables tableaux
avec un SumProduct, dans un souci de c=E9l=E9rit=E9 de code,
mais bien s=FBr je n'y arrive pas ;o)))
Merci d'avance pour vos conseils et bonne journ=E9e
Steph
Sub test()
Dim Tab1, Tab2
Dim DerLig#
With ActiveSheet
DerLig =3D .[A65536].End(3).Row
ReDim Tab1(1 To DerLig, 1 To 1): ReDim Tab2(1 To DerLig, 1 To
1)
Tab1 =3D .Range("A1:A" & DerLig).Value
Tab2 =3D .Range("B1:B" & DerLig).Value
'MsgBox Application.Evaluate("sumproduct((" & Tab1 & "=3D1)*(" &
Tab2 & "))")
MsgBox Application.SumProduct((" & Tab1 & " =3D 1) * (" & Tab2 &
"))
End With
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Dans la formule, les variables que tu insères doivent être de type string (ou numériques) comme tu les écris dans les formules entrées manuellement dans Excel. Cordialement. Daniel "DesseJ" a écrit dans le message de news:
Bonjour à tous,
Curiosité du lundi matin, je me demandais s'il était possible d'utiliser des variables tableaux avec un SumProduct, dans un souci de célérité de code, mais bien sûr je n'y arrive pas ;o)))
Merci d'avance pour vos conseils et bonne journée Steph
Sub test() Dim Tab1, Tab2 Dim DerLig# With ActiveSheet DerLig = .[A65536].End(3).Row ReDim Tab1(1 To DerLig, 1 To 1): ReDim Tab2(1 To DerLig, 1 To 1) Tab1 = .Range("A1:A" & DerLig).Value Tab2 = .Range("B1:B" & DerLig).Value 'MsgBox Application.Evaluate("sumproduct((" & Tab1 & "=1)*(" & Tab2 & "))") MsgBox Application.SumProduct((" & Tab1 & " = 1) * (" & Tab2 & ")) End With End Sub
Bonjour.
Dans la formule, les variables que tu insères doivent être de type string
(ou numériques) comme tu les écris dans les formules entrées manuellement
dans Excel.
Cordialement.
Daniel
"DesseJ" <DesseJ@caramail.com> a écrit dans le message de news:
4cc5e509-e86e-4137-a5b6-49bfeb642a92@e23g2000prf.googlegroups.com...
Bonjour à tous,
Curiosité du lundi matin,
je me demandais s'il était possible d'utiliser des variables tableaux
avec un SumProduct, dans un souci de célérité de code,
mais bien sûr je n'y arrive pas ;o)))
Merci d'avance pour vos conseils et bonne journée
Steph
Sub test()
Dim Tab1, Tab2
Dim DerLig#
With ActiveSheet
DerLig = .[A65536].End(3).Row
ReDim Tab1(1 To DerLig, 1 To 1): ReDim Tab2(1 To DerLig, 1 To
1)
Tab1 = .Range("A1:A" & DerLig).Value
Tab2 = .Range("B1:B" & DerLig).Value
'MsgBox Application.Evaluate("sumproduct((" & Tab1 & "=1)*(" &
Tab2 & "))")
MsgBox Application.SumProduct((" & Tab1 & " = 1) * (" & Tab2 &
"))
End With
End Sub
Bonjour. Dans la formule, les variables que tu insères doivent être de type string (ou numériques) comme tu les écris dans les formules entrées manuellement dans Excel. Cordialement. Daniel "DesseJ" a écrit dans le message de news:
Bonjour à tous,
Curiosité du lundi matin, je me demandais s'il était possible d'utiliser des variables tableaux avec un SumProduct, dans un souci de célérité de code, mais bien sûr je n'y arrive pas ;o)))
Merci d'avance pour vos conseils et bonne journée Steph
Sub test() Dim Tab1, Tab2 Dim DerLig# With ActiveSheet DerLig = .[A65536].End(3).Row ReDim Tab1(1 To DerLig, 1 To 1): ReDim Tab2(1 To DerLig, 1 To 1) Tab1 = .Range("A1:A" & DerLig).Value Tab2 = .Range("B1:B" & DerLig).Value 'MsgBox Application.Evaluate("sumproduct((" & Tab1 & "=1)*(" & Tab2 & "))") MsgBox Application.SumProduct((" & Tab1 & " = 1) * (" & Tab2 & ")) End With End Sub
DesseJ
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox Application.Sum(Tab1) .
Je vais laisser tomber cette idée.
Bonne journée Steph
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise
le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox
Application.Sum(Tab1) .
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox Application.Sum(Tab1) .
Je vais laisser tomber cette idée.
Bonne journée Steph
Daniel.C
Quand tu écris : Application.Sum(Tab1) tu exécutes une fonction VBA Quand tu utilises "Evaluate", tu évalues une fonction Excel. MsgBox Evaluate("sum(" & Tab1 & ")") tu obtiens un message d'erreur. Daniel "DesseJ" a écrit dans le message de news:
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox Application.Sum(Tab1) .
Je vais laisser tomber cette idée.
Bonne journée Steph
Quand tu écris :
Application.Sum(Tab1)
tu exécutes une fonction VBA
Quand tu utilises "Evaluate", tu évalues une fonction Excel.
MsgBox Evaluate("sum(" & Tab1 & ")")
tu obtiens un message d'erreur.
Daniel
"DesseJ" <DesseJ@caramail.com> a écrit dans le message de news:
b9debf48-faac-43db-a235-a26f497f4171@s13g2000prd.googlegroups.com...
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise
le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox
Application.Sum(Tab1) .
Quand tu écris : Application.Sum(Tab1) tu exécutes une fonction VBA Quand tu utilises "Evaluate", tu évalues une fonction Excel. MsgBox Evaluate("sum(" & Tab1 & ")") tu obtiens un message d'erreur. Daniel "DesseJ" a écrit dans le message de news:
Merci Daniel, oui j'ai toujours cette erreur de type quand j'utilise le SumProduct, alors que pour la somme c'est OK, pas ex MsgBox Application.Sum(Tab1) .
Je vais laisser tomber cette idée.
Bonne journée Steph
DesseJ
Ca y est, j'ai compris mon erreur avec mon Evaluate. Et comme je ne peux convertir ma variable Tab1 en string ici, c'est cuit.
Merci
Ca y est, j'ai compris mon erreur avec mon Evaluate. Et comme je ne
peux convertir ma variable Tab1 en string ici, c'est cuit.
Ce ne sont pas des tableaux en mémoire centrale mais des champs
Assurément JB
DesseJ
Bonjour, Bonsoir,
Merci les gars, oui je m'imaginais qu'avec des tableaux en mémoire centrale, je pourrais booster les calculs, mais cela reste relatif car c'est déjà assez rapide ;o))
Merci pour vos conseils et bonne journée Steph
Bonjour, Bonsoir,
Merci les gars, oui je m'imaginais qu'avec des tableaux en mémoire
centrale, je pourrais booster les calculs, mais cela reste relatif car
c'est déjà assez rapide ;o))
Merci les gars, oui je m'imaginais qu'avec des tableaux en mémoire centrale, je pourrais booster les calculs, mais cela reste relatif car c'est déjà assez rapide ;o))