Exporter une feuille excel vers un nouveau classeur en filtrant

Exporter une feuille excel vers un nouveau classeur en filtrant - VB/VBA/VBS - Programmation

Marsh Posté le 17-09-2019 à 10:26:47    

Exporter une feuille excel vers un nouveau classeur en filtrant sur une colonne: exemple
 
un tableau avec une colonne pays, et je souhaite exporter ce tableau X fois (x = nombre de pays) donc chaque nouveau classeur ressemblera ne contient que les données liées à 1 pays à la fois:
 
voici mon tableau: l'onglet data et options: https://imgur.com/a/BzgOm5A
 
et mon code qui me vient de cet exemple: https://philippetulliez.developpez. [...] cedfilter/
 
 

Code :
  1. Sub Rectangleàcoinsarrondis1_Cliquer()
  2. ' Déclaration + Initialisation des variables
  3. Dim rngList As Range, rngData As Range, rngCriteria As Range, r As Long
  4. Set rngData = shtData.Range("H1" ).CurrentRegion
  5. With shtParam
  6.   Set rngList = .Range("C1" ): Set rngCriteria = .Range("F1:F2" )
  7. End With
  8. ' Etape 1 - Création d'une liste unique basée sur la colonne 1
  9. With rngData
  10. .Resize(, 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=rngList, Unique:=True
  11. End With
  12. ' Etape 2 - Boucle sur la liste avec placement du critère
  13. '           Création nouvelle feuille
  14. '           Exportation vers nouvelle feuille
  15. '           Déplacement de cette nouvelle feuille vers un nouveau classeur
  16. For r = 1 To rngList.CurrentRegion.Rows.Count - 1
  17.   rngCriteria.Cells(2, 1) = rngList.Offset(r) ' Insère le critère
  18.   ' 2.1 - Création d'une feuille
  19.   Sheets.Add before:=Sheets(1): Sheets(1).Name = rngList.Offset(r)
  20.   ' 2.2 - Exportation vers nlle feuille suivant critère
  21.   With rngData
  22.   .AdvancedFilter xlFilterCopy, rngCriteria, Sheets(1).Range("A1" )
  23.   End With
  24.   ' 2.3 - Déplacement de la feuille cers un nouveau classeur
  25.   Sheets(1).Move
  26.   '
  27.   ' Ici code pour sauver classeur, Envoyer par email etc...
  28.   '
  29. Next
  30. End Sub


 
 
j'ai tenté ma chance sur ce forum via ce fil de discussion: https://www.developpez.net/forums/d [...] st11133166
 
Mais je suis coincé: j'ai une erreur quand je tente d'executer mon code (vous pouvez voir les screenshot dans le lien developpez.net)
 
Auriez vous une piste ?

Reply

Marsh Posté le 17-09-2019 à 10:26:47   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed