Boucles For imbriquées Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
r
racouet
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 19 mars 2016
Version d'Excel : 2010

Message par racouet » 19 mars 2016, 21:04

Bonjour à tous,

J'ai un souci avec un calcul de sous-total. J'ai une colonne de montants et réalise une boucle sur cette colonne jusqu'à ce que la macro trouve que la cellule en offset-5 soit égale à Sous total.

Lorsque excel trouve cette valeur, je stocke la valeur j qui correspond à la ligne de cette cellule, se lance une seconde boucle qui va chercher la cellule suivante contenant la valeur Sous totale suivante, dont je stocke la ligne et calcul ainsi le total des valeurs des cellules comprises entre les deux cellules contenant "Sous total". La boucle se termine alors que la première continue et passe aux cellules suivantes. Le souci c'est que cela ne marche pas et les sous totaux sont farfelus. Je mets en PJ de ce message un extrait de mon fichier avec la petite macro qui est ce qu'elle est vu mes connaissances proche du sous-sol.

Le fait d'avoir deux boucles induit aussi des messages d'Excel du genre Next sans For ou En If sans If.

Si quelqu'un peut m'éclairer, ce serait super car je sêche.

merci d'avance
Test.xlsm
(19.17 Kio) Téléchargé 21 fois
Avatar du membre
bouben
Membre impliqué
Membre impliqué
Messages : 1'735
Appréciations reçues : 43
Inscrit le : 25 août 2014
Version d'Excel : 2010

Message par bouben » 19 mars 2016, 21:32

Bonsoir,

C'est un peu compliqué.
Pourquoi ne pas mettre une formule de somme toute simple ?

Ci-joint une proposition à tester en restant sur le même principe

Bonne soirée

Bouben
SousTotaux-V0.1.xlsm
(22.47 Kio) Téléchargé 28 fois
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'674
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 19 mars 2016, 22:02

Bonsoir,
juste pour répondre au principe de votre code sans réfléchir si c'est la meilleur solution... ;-)
Sub Sous_Total()
    Dim Der_Ligne As Long, Ligne As Long
    Dim Colonne_Valeurs As Long, Colonne_Sous_Total As Long, Colonne_Formule As Long
    Dim Deb_zone As Long
    Deb_zone = 2
    Colonne_Valeurs = 7
    Colonne_Formule = 13
    Colonne_Sous_Total = 2
    
    Der_Ligne = Range("B" & Rows.Count).End(xlUp).Row
    For Ligne = 2 To Der_Ligne
        If Cells(Ligne, Colonne_Sous_Total).Value = "Total amount" Then
            Cells(Ligne, Colonne_Formule).FormulaR1C1 = "=SUM(R[" & Deb_zone - Ligne & "]C[" & Colonne_Valeurs - Colonne_Formule & "]:R[-1]C[" & Colonne_Valeurs - Colonne_Formule & "])"
            Deb_zone = Ligne + 1
        End If
    Next
End Sub
@ bientôt

LouReeD

Oups...
Bonsoir bouben...
Voilà ce que cela fait de ne pas "actualiser" sa page... ;-)
Si seulement je ne répondais pas au téléphone...

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
bouben
Membre impliqué
Membre impliqué
Messages : 1'735
Appréciations reçues : 43
Inscrit le : 25 août 2014
Version d'Excel : 2010

Message par bouben » 19 mars 2016, 22:41

Bonsoir LouReeD,

2 propositions valent mieux qu'une :D

A bientôt

Bouben
r
racouet
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 19 mars 2016
Version d'Excel : 2010

Message par racouet » 19 mars 2016, 23:08

Bonjour LouReeD et Bouben,

Merci beaucoup. Il me reste juste maintenant à analyser vos codes. J'ai testé, c'est juste super et vraiment efficace. Je vois juste qu'il me reste encore beaucoup à apprendre.

Merci encore à tous les deux.

Bonne soirée
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'399
Appréciations reçues : 403
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 20 mars 2016, 00:44

Bonjour à tous,

Ben une 3ème alors, sans macro.
eric
Test (1).xlsm
(13.64 Kio) Téléchargé 20 fois
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Boucles imbriquées ?
    par Oliv34 » 10 septembre 2018, 14:57 » dans Excel - VBA
    3 Réponses
    103 Vues
    Dernier message par Oliv34
    10 septembre 2018, 17:25
  • Boucles imbriquées
    par rododom05 » 16 mars 2017, 12:00 » dans Excel - VBA
    11 Réponses
    452 Vues
    Dernier message par rododom05
    21 mars 2017, 11:44
  • Boucles for imbriquées
    par meamandine » 1 mars 2020, 23:00 » dans Excel - VBA
    3 Réponses
    50 Vues
    Dernier message par papyg
    3 mars 2020, 09:52
  • boucles imbriquées
    par Trophinou » 20 novembre 2015, 19:03 » dans Excel - VBA
    3 Réponses
    292 Vues
    Dernier message par h2so4
    21 novembre 2015, 15:26
  • Aide boucles for imbriquées
    par Romhin » 1 août 2017, 11:48 » dans Excel - VBA
    3 Réponses
    189 Vues
    Dernier message par archer
    1 août 2017, 17:34
  • Help, boucles imbriquées sans fin!
    par sebby » 4 septembre 2017, 22:30 » dans Excel - VBA
    3 Réponses
    190 Vues
    Dernier message par Thihii
    4 septembre 2017, 23:37