Regroupage de valeurs dans un classeur

L

Law

Guest
Bonjour,

Dans le fichier joint, j'aimerais que dans la feuille 'Consolidation', des données relatives à un fournisseur choisi (exemple : fournisseur A) soient regroupées en un même tableau (exemple dans mon fichier joint).

Il faudrait je pense construire une macro qui 'balaie' les feuilles à la recherche de lignes relatives au fournisseur A, et qu'ensuite ces mêmes lignes viennent se regrouper l'une sous l'autre dans mon onglet 'Conslidation'.

En vous remerciant beaucoup par avance.
[file name=ExempleForum.zip size=2276]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleForum.zip[/file]
 

Pièces jointes

  • ExempleForum.zip
    2.2 KB · Affichages: 8
  • ExempleForum.zip
    2.2 KB · Affichages: 9
  • ExempleForum.zip
    2.2 KB · Affichages: 9

Hervé

XLDnaute Barbatruc
Bonsoir tout le monde

:)

En pièce jointe une proposition.

cette macro scanne les feuilles à la recherche du fournisseur indiqué en cellule G4 de la feuille consolidation, puis remplis un tableau dynamique avec les données.

et enfin restitue ce tableau.

Sub Bouton1_QuandClic()
Dim ws As Worksheet
Dim tablo() As String
Dim i As Integer, x As Integer, k As Integer, l As Integer
Dim j As Byte
x = 1
For Each ws In Worksheets
   
If ws.Name <> 'Consolidation' Then
&nbsp; &nbsp; &nbsp; &nbsp;
With ws
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
For j = 3 To 8 Step 5
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; l = .Cells(65536, j).End(xlUp).Row
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
For k = 2 To l
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If .Cells(k, j) = Range('g4') Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
ReDim Preserve tablo(1 To 4, 1 To x)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(1, x) = .Cells(k, j).Offset(0, -2)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(2, x) = .Cells(k, j).Offset(0, -1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(3, x) = .Cells(k, j)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(4, x) = .Cells(k, j).Offset(0, 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x = x + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Next k
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Next j
&nbsp; &nbsp; &nbsp; &nbsp;
End With
&nbsp; &nbsp;
End If
Next ws

Sheets('Consolidation').Range('a2').Resize(UBound(tablo, 2), UBound(tablo, 1)) = WorksheetFunction.Transpose(tablo)

&nbsp; &nbsp;
End Sub

salut

[file name=ExempleForum_20050822232650.zip size=9832]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleForum_20050822232650.zip[/file]
 

Pièces jointes

  • ExempleForum_20050822232650.zip
    9.6 KB · Affichages: 13

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 528
dernier inscrit
maro