3 boucles imbriquées

Bonjour,

Je suis sous Excel 2003 et je suis coincé par une boucle imbriquée !

sur ma feuille j'ai 3 tableaux :
[Tabl1] de A2 à A15 une série de lettres A, B, C, D, E, F, G, K, M, N, Q, S, U, W
[Tab2] de A 19 à A32 une première série A. Lib1, B. Lib2, C. Lib3, ... W. Lib14 (La 1ère lettre correspond au tableau supérieur
[Tab3] de B2 à B58 une seconde série A.01 Lib1, A.02 Lib2, A.03 Lib3, B.01 Lib4, C.01 Lib5, C.02 Lib6

J'aimerai faire comprendre à VBA que
"Tant que la lettre de [Tabl 1] est égal au premier caractère de [Tabl 2]
"Tabl2 boucle sur les 4 1er caractères de [Tabl 3]
"Tabl 3 affiche les seules fiches qui commencent par A.01 puis celles qui commencent par A.02.... puis B.01

J'espère avoir été clair... (?)

Merci à tous pour votre aide

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,
    Pourrais-tu joindre une copie de ton classeur (via cjoint.com par exemple) pour nous éviter de reconstruire ton classeur ?
    1. http://cjoint.com/?BJCvcsWDeCk

      Voilà le lien vers lefichier.

      ps : le premier tableau (A, B C...) ne me servirait à rien d'autre qu'à la boucle qui recherche le "A", "B" qui se trouve à gauche de chaque libellé

      Merci
      1. Bonjour,
        Au passage, vous parlez de VBA avec une boucle..., il n'y a pas de procédure VBA dans votre fichier ...!
        En plus les tableaux ne correspondent pas à la description du premier message.... !

        Salutations.
        Le Pingou
        1. Je plussoie Le Pingou, je ne retrouve pas les tableaux de la question dans le fichier joint...

          Mais ce me semble pas si compliqué :
          Sub boucles()
          Dim ligne_tab1 As Integer
          Dim ligne_tab1max As Integer
          Dim ligne_tab2 As Integer
          Dim ligne_tab2max As Integer
          'Dim ligne_tab3 As Integer
          'Dim ligne_tab3max As Integer
          
          ligne_tab1max = Range("B500").End(xlUp).Row
          ligne_tab2max = Range("C500").End(xlUp).Row
          ligne_tab3max = Range("H500").End(xlUp).Row
          
          ligne_tab2 = 3
          
          For ligne_tab1 = 3 To ligne_tab1max
          While Left(Cells(ligne_tab1, 2), 1) = Left(Cells(ligne_tab2, 3), 1)
          
          'on boucle donc sur chaque catégorie correspondant au fournisseur :
          MsgBox Cells(ligne_tab1, 2) & vbCr & Cells(ligne_tab2, 3)
          
          ligne_tab2 = ligne_tab2 + 1
          Wend
          Next
          End Sub

          Par contre je n'ai pas compris la suite ? Il faut afficher les produits correspondants à un fournisseur ? à une catégorie ?