Methode plus rapide de calcul?

acmilan2028 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
bjr je veux calculer la somme de certains cellules selon trois condition j'ai reussi le faire avec une macro mais le blem c que le calcul prend un temps énorme a cause de nombre de ligne ki est eleve presque 6000 lignes
voila le code que j'ai pu faire

Sub calculer_la_somme()

Sheets("contact").Select
i = Range("A1").End(xlDown).Row

Dim somme As Long

For k = 2 To i
somme = 0
For l = 2 To i
If Range("F" & k).Value = Range("F" & l).Value Then
If Range("D" & k).Value = Range("D" & l).Value Then
If Range("E" & k).Value = Range("E" & l).Value Then

somme = somme + Range("C" & l).Value
End If
End If
End If

Next l
Range("G" & k).Value = somme

Next k

End Sub






si vous avez une autre solution ou amelioration SVP


cordialement
A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

effectivement...

mettre un extrait (2000 lignes) du classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse

au passage
k=L =2
donc
If Range("F" & k).Value = Range("F" & l).Value Then
If Range("D" & k).Value = Range("D" & l).Value Then
If Range("E" & k).Value = Range("E" & l).Value Then
tu compares les m^mes cellules ?
0
acmilan2028 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   1
 
bonjour
voila le fichier que tu m'as demander

https://www.cjoint.com/?3Djj7DTIeAO

oui effectivement je compare deux cellule de mm lignes pour calculer le nombre de câble pour chaque outillage dans chaque vb et bout et puis je vais supprimer les doublons hhh

si vous pouvez proposez qlq chose plus pratique je serai tres heureux :D

cordialement
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Je veux bien essayer de t'aider MAIS

oui effectivement je compare deux cellule de mm lignes

NON: tu compares les mêmes cellules
Range("F" & k).Value = Range("F" & l).
pas très sérieux

Pourquoi 2 compteurs K et L puisqu' ils semblent toujours égaux ?
0