Créer des tableaux séparés à partir des valeurs d'un tableau

Laguamar

XLDnaute Nouveau
Salut,

J'ai un tableau avec une dizaine de colonnes. Je cherche à créer des tableaux séparés reprenant la même mise en forme avec toutes les données en fonction des valeurs de la colonne 3. Ex en col 3 ce sont des villes je souhaiterais créer des tableaux séparés par ville reprenant la mise en forme et les données du tableau de départ.

Merci par avance les amis !
 

Laguamar

XLDnaute Nouveau
Salut
Hello Staple1600

correction pour la ligne "Nice" manquante. c'était juste un problème d'indice
VB:
Sub CreerTableaux()
Dim Unique As New Collection 'contiendra la liste des villes sans doublon
Dim tablo() As Variant 'contient tout le tableau de la feuille 1

With Sheets("Feuil1")
    fin = .UsedRange.Rows.Count
    tablo = .Range("A2:G" & fin).Value
    entete = .Range("A1:G1").Value
  
    On Error Resume Next
    For i = LBound(tablo, 1) To UBound(tablo, 1)
        Unique.Add tablo(i, 3), tablo(i, 3)
    Next i
End With

For Each ville In Unique
    Sheets.Add
  
    With ActiveSheet
        ActiveWindow.DisplayGridlines = False
        .Name = ville
        .Range("A1:G1") = entete
        k = 2
        For i = LBound(tablo, 1) To UBound(tablo, 1)
            If tablo(i, 3) = ville Then
                For j = LBound(tablo, 2) To UBound(tablo, 2)
                    .Cells(k, j) = tablo(i, j)
                Next j
                k = k + 1
            End If
        Next i
      
        .ListObjects.Add(xlSrcRange, Range("$A$1:$G$" & k - 1), , xlYes).Name = "Tab" & ville
        .ListObjects("Tab" & ville).TableStyle = "TableStyleMedium9"
      
    End With
Next ville
End Sub
Salut
Hello Staple1600

correction pour la ligne "Nice" manquante. c'était juste un problème d'indice
VB:
Sub CreerTableaux()
Dim Unique As New Collection 'contiendra la liste des villes sans doublon
Dim tablo() As Variant 'contient tout le tableau de la feuille 1

With Sheets("Feuil1")
    fin = .UsedRange.Rows.Count
    tablo = .Range("A2:G" & fin).Value
    entete = .Range("A1:G1").Value
  
    On Error Resume Next
    For i = LBound(tablo, 1) To UBound(tablo, 1)
        Unique.Add tablo(i, 3), tablo(i, 3)
    Next i
End With

For Each ville In Unique
    Sheets.Add
  
    With ActiveSheet
        ActiveWindow.DisplayGridlines = False
        .Name = ville
        .Range("A1:G1") = entete
        k = 2
        For i = LBound(tablo, 1) To UBound(tablo, 1)
            If tablo(i, 3) = ville Then
                For j = LBound(tablo, 2) To UBound(tablo, 2)
                    .Cells(k, j) = tablo(i, j)
                Next j
                k = k + 1
            End If
        Next i
      
        .ListObjects.Add(xlSrcRange, Range("$A$1:$G$" & k - 1), , xlYes).Name = "Tab" & ville
        .ListObjects("Tab" & ville).TableStyle = "TableStyleMedium9"
      
    End With
Next ville
End Sub


Merci beaucoup pour la correction t'es un champion je vais partir de là !!!
 

vgendron

XLDnaute Barbatruc
Salut Gosselien

Juste parce que j'ai découvert la collection il n'y a pas longtemps et que pour l'utilisation d'un dictionnaire. je galère toujours.. ne serait ce que pour retrouver la syntaxe juste pour déclarer le dico.. :-D. je sais. c'est pas bien. ca s'appelle de la flemme :-D
 

gosselien

XLDnaute Barbatruc
Salut Gosselien
Juste parce que j'ai découvert la collection il n'y a pas longtemps et que pour l'utilisation d'un dictionnaire. je galère toujours.. ne serait ce que pour retrouver la syntaxe juste pour déclarer le dico.. :-D. je sais. c'est pas bien. ca s'appelle de la flemme :-D
Hello :)
Hooo , loin de moi critiquer une flemme en tout cas :), moi le roi de la procrastination...
Mon cerveau mononeurone a beaucoup de mal avec les dico, mais j'ai lu sur le site de JB que les dico sont + rapide sur un grand nombre de données et que la collection serait à réserver au Mac qui n'autorise pas les dictionnaires (S ù£¨*%µç06 d'excel sur mac , insuportable ! :D )
P.
 

vgendron

XLDnaute Barbatruc
bah en fait. j'étais en train de me demander qu'elles étaient les différences..
et je viens de tomber sur ce site


Conclusion.; Dico.. c'est bien !
bon. va falloir que je m'habitue à déclarer un dico et assimiler comment n'avoir que des éléments UNIQUE (ce qui me plaisait avec la Collection :-D
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757