Macro SOUS.TOTAL automatique via code couleur

JérémyMSFlog

XLDnaute Nouveau
Bonjour le forum!

J'ai un ensemble de lignes avec différents niveaux repérés par un code couleur. J'aimerai avoir une macro permettant d'obtenir les Sous-Totaux(9;........) selon les niveaux.
Le mieux c'est que vous jetiez un coup d'œil dans le zip joint pour une meilleur compréhension.

J'ai des connaissances en macro, mais pour ce type de problème j'avoue ma faiblesse..:eek: Après quelques heures à bucher dessus, aucun résultat

Merci par avance de votre aide, ou du moins d'avoir essayé

Cordialement
 

Pièces jointes

  • Macro niveaux.zip
    22.7 KB · Affichages: 71

JérémyMSFlog

XLDnaute Nouveau
Re : Macro SOUS.TOTAL automatique via code couleur

rebonjour le forum, me revoila avec le "pseudo" code qui je pense résoudra mon problème:ccool:: pour mieux comprendre je vous propose d'allé voir sur le zip que j'ai laissé au tout début! et pareil pour le code, en le postant tout c'est aligné mais sur le txt ci-joint c'est plus clair!

___________________________________________________________
A = Max de ligne
B = 1

Tant que B <= A Lire ligne par ligne faire

Si NIVEAU1 alors
ALGO1
B = B+1
sinon Si NIVEAU2 alors
ALGO2
B = B+1
sinon Si NIVEAU3 alors
ALGO3
B = B+1
Sinon Si Niveau4 alors
Algo4
B = B+1
sinon
B = B+1
Fin si
Fin si
Fin si
Fin si

Fin tant que


-----------------
ALGO1
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU2 jusqu'au prochain NIVEAU1 (ou fin des lignes: A)
Dans la cellule de NIVEAU1 (colonne G) faire la somme des valeur NIVEAU2 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU2 trouvé

Sinon Si pas de NIVEAU2
A partir de cette ligne: chercher NIVEAU3
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NIVEAU3 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU3 trouvé

Sinon Si pas de Niveau 3
A partir de cette ligne: chercher Niveau 4
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU2 trouvé

Sinon Si pas de Niveau 4
A partir de cette ligne: chercher NORMAL
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NORMAL
(Dans ce cas, comme ya que du NORMAL: couper macro)

-----------------
ALGO2
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 2 alors
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU3 jusqu'au prochain NIVEAU2
Dans la cellule de NIVEAU2 (colonne G) faire la somme des valeur NIVEAU3 !PLUS! les lignes NORMAL qui suivent le NIVEAU2 jusqu'au premier NIVEAU3 trouvé

Sinon Si pas de NIVEAU3
A partir de cette ligne: chercher NIVEAU4
Dans la cellule de Niveau 2 (colonne G) faire la somme des valeurs NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU2 jusqu'au premier NIVEAU4 trouvé

Sinon Si pas de Niveau 4
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU2
Dans la cellule de Niveau 2 (colonne G) faire la somme des valeurs NORMAL

-----------------
ALGO3
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 3 alors
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU4 jusqu'au prochain NIVEAU3
Dans la cellule de NIVEAU3 (colonne G) faire la somme des valeur NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU3 jusqu'au premier NIVEAU4 trouvé

Sinon Si pas de NIVEAU4
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU3
Dans la cellule de Niveau 3 (colonne G) faire la somme des valeurs NORMAL


-----------------
ALGO4
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 4 alors
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU4
Dans la cellule de Niveau 4 (colonne G) faire la somme des valeurs NORMAL
(on continue)


__________________________________________________________
Voila j'espère que c'est plus clair et que quelqu'un sera capable de m'aider..;).
Merci d'avance et désolé pour le temps mis à poster ce code vulgaire:aie:. lol
ce qui me pose le problème sur ce problème c'est surtout la collecte des valeurs pour faire la somme:calim2:.
 

JérémyMSFlog

XLDnaute Nouveau
Re : Macro SOUS.TOTAL automatique via code couleur

rebonjour le forum, me revoila avec le "pseudo" code qui je pense résoudra mon problème:ccool:: pour mieux comprendre je vous propose d'allé voir sur le zip que j'ai laissé au tout début! et pareil pour le code, en le postant tout c'est aligné mais sur le txt ci-joint c'est plus clair!

___________________________________________________________
A = Max de ligne
B = 1

Tant que B <= A Lire ligne par ligne faire

Si NIVEAU1 alors
ALGO1
B = B+1
sinon Si NIVEAU2 alors
ALGO2
B = B+1
sinon Si NIVEAU3 alors
ALGO3
B = B+1
Sinon Si Niveau4 alors
Algo4
B = B+1
sinon
B = B+1
Fin si
Fin si
Fin si
Fin si

Fin tant que


-----------------
ALGO1
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU2 jusqu'au prochain NIVEAU1 (ou fin des lignes: A)
Dans la cellule de NIVEAU1 (colonne G) faire la somme des valeur NIVEAU2 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU2 trouvé

Sinon Si pas de NIVEAU2
A partir de cette ligne: chercher NIVEAU3
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NIVEAU3 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU3 trouvé

Sinon Si pas de Niveau 3
A partir de cette ligne: chercher Niveau 4
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU1 jusqu'au premier NIVEAU2 trouvé

Sinon Si pas de Niveau 4
A partir de cette ligne: chercher NORMAL
Dans la cellule de Niveau 1 (colonne G) faire la somme des valeurs NORMAL
(Dans ce cas, comme ya que du NORMAL: couper macro)

-----------------
ALGO2
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 2 alors
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU3 jusqu'au prochain NIVEAU2
Dans la cellule de NIVEAU2 (colonne G) faire la somme des valeur NIVEAU3 !PLUS! les lignes NORMAL qui suivent le NIVEAU2 jusqu'au premier NIVEAU3 trouvé

Sinon Si pas de NIVEAU3
A partir de cette ligne: chercher NIVEAU4
Dans la cellule de Niveau 2 (colonne G) faire la somme des valeurs NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU2 jusqu'au premier NIVEAU4 trouvé

Sinon Si pas de Niveau 4
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU2
Dans la cellule de Niveau 2 (colonne G) faire la somme des valeurs NORMAL

-----------------
ALGO3
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 3 alors
A partir de cette ligne: chercher ligne par ligne afin d'identifier toute les lignes de NIVEAU4 jusqu'au prochain NIVEAU3
Dans la cellule de NIVEAU3 (colonne G) faire la somme des valeur NIVEAU4 !PLUS! les lignes NORMAL qui suivent le NIVEAU3 jusqu'au premier NIVEAU4 trouvé

Sinon Si pas de NIVEAU4
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU3
Dans la cellule de Niveau 3 (colonne G) faire la somme des valeurs NORMAL


-----------------
ALGO4
Si NORMAL, passer à la ligne suivante sinon
Si Niveau 4 alors
A partir de cette ligne: chercher NORMAL jusqu'au prochain NIVEAU4
Dans la cellule de Niveau 4 (colonne G) faire la somme des valeurs NORMAL
(on continue)


__________________________________________________________
Voila j'espère que c'est plus clair et que quelqu'un sera capable de m'aider..;).
Merci d'avance et désolé pour le temps mis à poster ce code vulgaire:aie:. lol
ce qui me pose le problème sur ce problème c'est surtout la collecte des valeurs pour faire la somme:calim2:.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz