XL 2010 somme couleur colonnes

  • Initiateur de la discussion Initiateur de la discussion teddy33130
  • 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 !

teddy33130

XLDnaute Nouveau
bonjour a tous
j'ai une base de données avec 500 lignes (pour l'instant)
je cherche a faire une addition des cellules en fonction de leur couleur (il y en a deux , blanc ou vert)
en bas de ma base de données
mais bien sur au fur et a mesure que ma base de données s'alimente les cellule contenant les formules vont se decaler vers le bas car j'insere ma nouvelle ligne en ligne 2
en ligne 1 j'ai les entete des colonnes
esperant avoir ete clair
amicalement
 
Solution
Un essai en PJ à bien vérifier.

1- Création d'une feuille X ( que j'ai initialisée avec InitPageXcouleur ). Cette feuille est mis en xlSheetVeryHidden pour n'être jamais visible.
Le but est que chaque fois qu'on touche à Base de données on fait exactement la même chose dans X. Si on met vert alors on met V dans X, si on insère une ligne, on fait pareil dans X. A tout moment une cellule en LC dans base à son équivalent couleur dans X. Je ne met que V pour vert, le reste étant blanc il n'est pas nécessaire de le préciser.
2- Dans le code :
a- A chaque fois qu'on insère une ligne, on fait pareil dans X :
VB:
        With Feuil3
            .Rows("2:2").Insert T2 = xlDown, CopyOrigin:=xlFormatFromLeftOrAbove    'insere une ligne a la ligne...
En fait ça recalcule tout à chaque fois, donc cela dépend de votre fichier.... d'où un fichier test représentatif, quand c'est possible.
Autre solution, à la fin de votre userform vous faites un Calculate. Ca ne sera recalculé qu'à ce moment là.
 
VB:
            For i = 1 To 30
                .Cells(2, i + 3) = Controls("TV" & i)
                If .Cells(2, i + 3) > "" Then .Cells(2, i + 3) = Replace(.Cells(2, i + 3), ".", ",") * 1    ' remplace les . par des ,& multiplie par 1
                If .Cells(2, i + 3) > "" Then .Cells(2, i + 3) = .Cells(2, i + 3) * 1: .Cells(2, i + 3).NumberFormat = "0.000"    'met le formet 0.000
                If Controls("ch" & i) = True Then .Cells(2, i + 3).Interior.Color = RGB(192, 255, 96)
            Next
voici le code qui m'envoie les infos sur ma base de données ,y aurais t'il quelques chose a modifier pour que cela recalcule quand il renvois dans la cellule ??
 
VB:
For i = 1 To 30
                .Cells(2, i + 3) = Controls("TV" & i)
                If .Cells(2, i + 3) > "" Then .Cells(2, i + 3) = Replace(.Cells(2, i + 3), ".", ",") * 1    ' remplace les . par des ,& multiplie par 1
                If .Cells(2, i + 3) > "" Then .Cells(2, i + 3) = .Cells(2, i + 3) * 1: .Cells(2, i + 3).NumberFormat = "0.000"    'met le formet 0.000
                If Controls("ch" & i) = True Then .Cells(2, i + 3).Interior.Color = RGB(192, 255, 96)
            Next
            Calculate
comme ca tout simplement
 
Dernière solution.
Quand vous entrez dans votre userform vous mettez :
VB:
Application.Calculation = xlCalculationManual
puis à la fin avant le endsub vous mettez
Code:
Application.Calculation = xlCalculationAutomatic
Calculate
Comme ça tous les calculs passent en manuel pendant le userform.
 
??? Là ça dépend de la structure de votre code.
Dans ce cas remettez le Application.volatile dans la fonction.
Comme les calculs seront inhibés cela ne devrait pas avoir d'impact sur le temps. et le Calculate à la fin devrait tout recalculer.
Après ça dépend comment votre fichier est fait et si vous avez besoin de calculs intermédiaires.
 
On peut déjà mettre astuce pour gagner du temps, car la formule SOMMECOUL(D1😀37) dans la cellule blanche est inutile, il suffit de mettre : Somme totale moins somme verte. Ca divise par deux le nombres de fonctions.
Pouvez vous m'envoyez le code VBA, là il n'y a rien de confidentiel. Car normalement ça devrait marcher.
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
291
Réponses
7
Affichages
176
Retour