Boucle sur filtre

Bonjour à tous,

Je me permets de vous solliciter car je travaille généralement sous SAS mais je dois sortir une macro pour des collègues qui ne l'utilisent pas.

A partir d'un tableau, je dois créer autant de tableaux excel que de nombres de modalités de la variable.

Je comprends bien les différentes étapes. Certaines sont déjà codées, d'autres j'ai une idée en tête. Commençant tout juste le code en vba, je bloque sur certaines étapes...

Ce que je pense faire :

  • Sélection de la base, trier selon la variable concernée (établissement) ==> ok
  • Filtrer sur la première modalité de la variable (problème)
  • Copier la base filtrée ==> ok
  • Ouvrir un autre ficher excel ==> ok
  • Coller ce qui a été copier ==> ok
  • Enregistrer ce fichier dans le répertoire xxxx ==> ok
  • Fermer le document ==> ok
  • Retourner sur le fichier de départ et supprimer les lignes filtrées ==> (problème)
  • Effacer la valeur filtrée et prendre la suivante...
  • Etc....

Je ne cache pas que je suis en grande difficultée avec la boucle sur le filtre...Si quelqu'un pouvait me conseiller à ce sujet...

D'avance je vous remercie pour l'éventuelle aide que vous pourrez m'apporter...

Bien à vous.

Bonsoir,

Je pense que l'utilisation d'un filtre avancé (ou élaboré) répondrait à tes attentes...

Si tu pouvais joindre un fichier exemple, exempt de toutes données confidentielles, mais respectant la structure exacte de ton fichier réel, ce serait bien plus facile pour te donner une solution viable.

Bonne soirée

Bonsoir,

Voici donc un exemple de table.

Voici le début du code : je ne sais pas trop ce qui est le mieux à faire...

  • filtrer sur chacune des valeurs de la colonne (C) avec un copier coller à chaque vous de la sélection filtrée et la suppression de ces lignes
  • ou bien copier coller dans un fichier modèle (ou l'on trouve sur la première ligne l'ensemble des intitulés de variables) les lignes en disant à excel en vba tu me sélectionnes l'ensemble des lignes avec les mêmes valeurs (trié au préalable) et tu les colonnes, à chaque changement de valeur de la colonne tu me fais une nouvelle sélection que tu copies/colles.

Voici le début de mon code.

Sub CréerFichiers()
    Const rep As String = "D:\Profile\...\Desktop\test\" 'Nom du répertoire
    Dim maplage As Range ' Nom de la table
    Dim sh As Worksheet

    ' Se positionner en A1
    Range("A1").Select

    ' Nommer ma table
    Set maplage = Range("A1").CurrentRegion
    ActiveWorkbook.Names.Add Name:="Ma_table", RefersTo:=maplage

    ' Selection de cette table
    Range("Ma_table").Select

    ' Trier liste
    Columns("A:U").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlYes

With Worksheets("Fichier à découper")
    If Not .AutoFilterMode Then .Range("A1").AutoFilter
End With

End Sub

Je pars en formation VBA très prochainement et malheureusement la commande arrive avant mon départ en formation :s !

Merci de votre soutien

Un peu dans le speed désolé.

Mon collègue et moi même, nous avons pas mal bossé dessus ce matin et le résultat obtenu correspond bien à mes attentes. D'autres possibilités étaient probablement envisageables et le code peut eventuellement être amélioré (je pense).

Les PJ sont ici (comme je ne parviens pas à les mettre dans le message).

https://www.cjoint.com/c/EFtpii0ccm4

Merci beaucoup,

Bonne fin de journée, bon week end.

Bonsoir,

Regarde le fichier joint.

Bon W-E

Edit, arrivé 5 minutes trop tard....

Rechercher des sujets similaires à "boucle filtre"