Formules trop lourdes ?

  • Initiateur de la discussion Initiateur de la discussion Alexandre
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Alexandre

Guest
Bonjour à tout le forum....

je me demande si les formules de ce fichier ne peuvent pas être allégées...en effet, les calculs semblent longs quand ils s'exécutent...

quelqu'un pourrait-il regarder ça ?


D'avance, un grand merci


Alexandre
 

Pièces jointes

Bonjour Alexandre,

Enlève la boucle for l=3 to LeBasDuTableau .... Next (mais pas son contenu).

Place "l=Selection.Row" juste avant le "UserForm1.Show".

La macro ne s'exécutera que sur la ligne où tu fais une sélection et non sur l'ensemble du tableau.

Ceci dit, c'est pas mal ton truc.


Abel.
 
Re...

Mon truc ? houla, pas tant que ça. C'est surtout avec l'aide du forum que j'ai pu le faire petit à petit

Alors, vivent les contributions....

Je vais tenter de virer la boucle...hmm hmm, mais vu mes connaissances en vba et autres, ça risque de pas être évident....


Merci à toi


Alexandre
 
Re,

L=Selection.Row
USF1.Show
'For l = 3 To Range("A3").End(xlDown).Row METS CETTE LIGNE EN COMMENTAIRE AINSI QUE LE NEXT CORRESPONDANT
a = 0
B = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0

For Each Cel In ActiveSheet.Range("B" & l & ":AF" & l)
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AH1").Interior.ColorIndex Then a = a + 1
.Range("AH" & l) = a
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AI1").Interior.ColorIndex Then B = B + 1
.Range("AI" & l) = B
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AJ1").Interior.ColorIndex Then c = c + 1
.Range("AJ" & l) = c
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AK1").Interior.ColorIndex Then d = d + 1
.Range("AK" & l) = d
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AL1").Interior.ColorIndex Then e = e + 1
.Range("AL" & l) = e
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AM1").Interior.ColorIndex Then f = f + 1
.Range("AM" & l) = f
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AN1").Interior.ColorIndex Then g = g + 1
.Range("AN" & l) = g
End With
With ActiveSheet
If Cel.Interior.ColorIndex = .Range("AO1").Interior.ColorIndex Then h = h + 1
.Range("AO" & l) = h
End With
Next Cel

'Range("AI" & l) = a
'Range("AJ" & l) = b
'Range("AK" & l) = c
'Range("AL" & l) = d
'Range("AM" & l) = e
'Range("AN" & l) = f
'Range("AO" & l) = g
'Next l METS CETTE LIGNE EN COMMENTAIRE


Abel
 
Re re re.....

et merci pour le temps pris à m'aider...

J'ai tenté de modifier le code vba, tel que tu l'indiques.....malheureusement, tout plante ensuite....ai-je fais moi-même une erreur ?


MErci


Alexandre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
607
Réponses
8
Affichages
311
Retour