Eric B | Bonjour,
Je range mes fichiers mp3 sur mon disque selon la structure "genre\artiste\fichier.mp3" (avec fichier de la forme "album - 01 - title" )
Seulement, afin d'éviter trop de répertoires avec seulement qques fichiers, quand pour un artiste A, il y a moins de 5 titres, j'aimerais regrouper tous les fichiers correspondants dans un répertoire "Vrac"
Vu que je ne vois pas comment faire cela avec mon player Foobar2000 (toute proposition est ici bienvenue), mon idée est de copier ma playlist dans Excel, et de faire des traitements sur les cellules avec une macro VBA
J'en suis à ce stade :
Code :
- 'Algo: Pour un artist B, si nombre(TitleC) < 5, alors artist dans vrac ; sinon dans artist
- Private Sub TitlePerArtistAlgo()
- 'Dim TabTemp As Variant
- 'Dim RangeA As Range, RangeV As Range
- 'Dim MemF As Worksheet
- Dim i1 As Integer, i2 As Integer
- Dim L As Long
- Dim C As Byte
- i1 = i2 = 1
- 'With ActiveSheet
- 'Dernière ligne utilisée
- L = ActiveSheet.Range("A1" ).SpecialCells(xlLastCell).Row
- 'Dernière colonne utilisée
- C = ActiveSheet.Range("A1" ).SpecialCells(xlLastCell).Column
- Do
- 'Tant que l'artiste reste le meme, regarder la ligne suivante
- 'On ne regarde que la 2ème colonne, celle des artistes
- Do
- i2 = i2 + 1
- Loop Until ActiveSheet.Cell(i2, 2) <> ActiveSheet.Cell(i1, 2)
- If (i2 - i1) < 5 Then
- 'copie les lignes dans un tableau temporaire pour la feuille Vrac
- 'RangeV = RangeV & .Range(.Cells(i1, 1), .Cells(i2, C)).Value
- Else
- 'copie les lignes dans un tableau temporaire pour la feuille Artist
- 'RangeA = RangeA & .Range(.Cells(i1, 1), .Cells(i2, C)).Value
- End If
- i1 = i2
- Loop Until i1 = L - 1
- 'copie des tableaux temporaires vers les feuilles correspondantes
- 'With ActiveWorkbook
- ' MemF.Name = "Vrac"
- ' RangeV.Copy Destination:=MemF.Range("A1" )
- ' MemF.Name = "Artist"
- ' RangeA.Copy Destination:=MemF.Range("A1" )
- 'End With
- 'End With
|
J'ai déjà un pb de conception Excel, avec une erreur sur le bloc With. Il me manque un Set apparemment, mais je ne vois pas quoi mettre... |