Bonjour à tous,
Après avoir passé la journée à me décarcasser sans avancer sur ma problèmatique, je me decide enfin à vous consulter afin d'avoir un feedback constructif et éclairé.
J'ai créé un document excel afin de contrôler une interface que j'utilise, et qui transfert les factures d'un système X à un système Y. Comme le serveur lag souvent, il arrive que j'obtienne des doublons et il est nécessaire que je les corrige manuellement
Comme sur le système Y les factures sont détaillées, il est nécessaire que j'applique la formule SUMPRODUCT afin de reconstituer les montants totaux et les comparer aux montants du système X.
Je souhaite automatiser cette formule via VBA car on parle d'une plage de données de plus de 500 lignes, et lorsque j'applique la formule à ces 200 à 500 lignes, Excel met trois plombes à afficher les résultat.
Cette formule est la suivante : "=SUMPRODUCT((C:C=A1)*B:B)".
Rien de bien compliqué pourtant.
J'ai bien essayé de passer par une macro du type :
...mais c'est pareil, ça met beaucoup trop de temps à afficher les résultats de par la gestion de la formule.
Je souhaitais créer un petit code de type .Evaluate ou Worsheetfunction.SumProduct, mais je n'ai pas réussi à retranscrire ma formule. Votre aide, de quelque manière que ce soit, serait appreciée !
Je suis bien sûr disponible pour de plus amples infos. Merci !
Hilton
Après avoir passé la journée à me décarcasser sans avancer sur ma problèmatique, je me decide enfin à vous consulter afin d'avoir un feedback constructif et éclairé.
J'ai créé un document excel afin de contrôler une interface que j'utilise, et qui transfert les factures d'un système X à un système Y. Comme le serveur lag souvent, il arrive que j'obtienne des doublons et il est nécessaire que je les corrige manuellement
Comme sur le système Y les factures sont détaillées, il est nécessaire que j'applique la formule SUMPRODUCT afin de reconstituer les montants totaux et les comparer aux montants du système X.
Je souhaite automatiser cette formule via VBA car on parle d'une plage de données de plus de 500 lignes, et lorsque j'applique la formule à ces 200 à 500 lignes, Excel met trois plombes à afficher les résultat.
Cette formule est la suivante : "=SUMPRODUCT((C:C=A1)*B:B)".
Rien de bien compliqué pourtant.
J'ai bien essayé de passer par une macro du type :
Code:
Sub TOTAL()
For i = 1 To 1000
If Cells(i, 4) = " " Then
Cells(i, 8).FormulaR1C1 = "=SUMPRODUCT((C[-5]=RC[-7])*C[-6])"
End If
Next i
End Sub
...mais c'est pareil, ça met beaucoup trop de temps à afficher les résultats de par la gestion de la formule.
Je souhaitais créer un petit code de type .Evaluate ou Worsheetfunction.SumProduct, mais je n'ai pas réussi à retranscrire ma formule. Votre aide, de quelque manière que ce soit, serait appreciée !
Je suis bien sûr disponible pour de plus amples infos. Merci !
Hilton