Erreur 1004 en excel vba

heleosio Messages postés 2 Date d'inscription mercredi 18 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009 - 30 nov. 2009 à 09:31
heleosio Messages postés 2 Date d'inscription mercredi 18 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009 - 30 nov. 2009 à 18:41
Bonjour à tous,

Je vous sollicite car je rencontre cette erreur "Erreur d'éxecution 1004 erreur définie par l'appliaction ou par l'objet"

Je cherche à compter le nombre d'occurences sur 2 tableaux sur 2 feuilles différentes en fonction de 2 critères à l'aide de SUMPORODUCT. Le colonne A représente les références la colonne B les valeurs et la colonne C reçoit le résultat. Ce code serait utilisée par la suite sur un plus gros fichier. Petite précision le code fonctionne bien lorsque les valeurs sont entières.

Sub Macro1()
'
' Macro1 Macro
'
Dim Plage As Range
Dim Plage2 As Range
Dim plage3 As Range
Dim I As Long

Set Plage = Range("C1:C3")
Set Plage2 = Range("A1:A3")
Set plage3 = Range("B1:B3")


For I = 1 To 3

Plage(I) = "=SUMPRODUCT((A1:A3 = " & Plage2(I) & ")*(Feuil2!A1:A3 = " & Plage2(I) & ") , (B1:B3 = " & plage3(I) & ")*(Feuil2!B1:B3 = " & plage3(I) & "))"

Next

End Sub

Je vous en remercie par avance


Cordialement

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 nov. 2009 à 09:47
Salut
Je ne suis pas familier des manips de matrices, mais si tu dis n'avoir des problèmes qu'avec les chiffres décimaux, vérifie que tes chiffres utilisent bien la virgule (si Excel en FR).
Une autre chose me titille :
Es-tu sûr qu'on ait le droit d'utiliser une syntaxe Plage(I) lorsque la variable est déclarée comme un Range ?
De plus, si tu dois affecter une formule à une cellule, il serait bon de mettre la syntaxe complète, genre Plage(I).Formula afin de le dissocier de Plage(I).Value qui, je pense, est utilisé par défaut.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
30 nov. 2009 à 10:36
Bonjour,
je pense que la virgule va générer une erreur d'interprétation de la formule, car elle sera considérée comme un sxéparateur d'argument. Il vaudrait mieux indiquer la référence de la cellule plutôt que sa valeur.
Par exemple, au lieu de Plage2(i) tu mets "A" & i

thip
0
heleosio Messages postés 2 Date d'inscription mercredi 18 novembre 2009 Statut Membre Dernière intervention 30 novembre 2009
30 nov. 2009 à 18:41
Cela marche parfaitement bien, merci beaucoup.
0
Rejoignez-nous