3 boucles imbriquées

GillHop Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Morgothal Messages postés 1350 Statut Membre -
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

  1. Morgothal Messages postés 1350 Statut Membre 184
     
    Salut,
    Pourrais-tu joindre une copie de ton classeur (via cjoint.com par exemple) pour nous éviter de reconstruire ton classeur ?
    0
  2. gillhop
     
    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
    0
  3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    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
    0
  4. Morgothal Messages postés 1350 Statut Membre 184
     
    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 ?
    0