Filtrer des donnés à partir d'une liste des variables

Bonjour à tous,

Je débute en VBA et je me connais presque en rien. J'ai besoin de votre aide

A fin d'automatiser le processus d'intégration en comptabilité j'ai besoin de créer une macro.

Dans un fichier excel j'ai deux onglets le premier "BDD" qui a les informations qui sont à filtrer et le deuxième "Sociétés à intégrer" avec une liste des variables pour les filtres.

L'objectif et de faire une boucle (ou d'autres propositions sont bienvenues) où l'onglet BDD se filtre automatiquement grâce aux donnés renseignées dans l'onglet Sociétés à integrer dans les colonne A et B.

Pour chaque ligne un filtre doit s'appliquer enregistrer une copie dans un nvx fichier et repasser à la ligne suivante.

De plus il y a une condition à prendre en compte si dans la colonne C de l'onglet "Sociétés à integrer" il y a un "x" il ne faut pas filtrer et créer de nvx fichier

J'avais fait dejà une macro auparavant qui suit un peu près le même principe sauf que dans ce code j'ai du faire un code filtrage société par société car il n'yavait pas bcp mais cette fois ci il faudrait que je m'appuis de la liste des variables dans l'onglet socétés à intégrer à fin de prendre en compte aussi la condition "x" qui sera rempli manuellement.

Sub intégration_sociétés()

Dim premiereCellule As Range Set premiereCellule = ActiveCell.CurrentRegion.Cells(1)

Dim colonne As Integer colonne = ActiveCell.Column - premiereCellule.Column + 1

'Filtre 1

premiereCellule.AutoFilter field:=3, Criteria1:="PANELIS"

'Filtre 2

premiereCellule.AutoFilter field:=24, Criteria1:="reel"

'ouvrir un nouveau fichier vide excel

Dim OngletIntegration As Worksheet

Set OngletIntegration = Worksheets(3)

Dim FichierPANELIS As String Dim Integration As Long

Dim CopieIntegration As Long

Application.ScreenUpdating = False FichierPANELIS = "PANELIS Intégration -" & Format(Date, "dd-mm-yyyy") & ".xlsx" Workbooks.Add ActiveWorkbook.SaveAs Filename:="M:\01 DOSSIERS DE SUIVI\Cegid\Matrices integration\YouTube\Fichiers d'intégration\" & FichierPANELIS

Worksheets("Feuil1").Name = "Intégration PANELIS"

ThisWorkbook.Activate

'Rows().Copy Workbooks(NomFichier).Worksheets("Intégration PANELIS").Range("A1") Range("B10:W1130").Copy Workbooks(FichierPANELIS).Worksheets("Intégration PANELIS").Range("A1")

Workbooks(FichierPANELIS).Activate Workbooks(FichierPANELIS).Save

'Copie fichier csv Rows().Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode = False

'ActiveWorkbook.SaveAs Filename:="M:\01 DOSSIERS DE SUIVI\Cegid\Matrices integration\YouTube\Matrice Youtube" & Format(Date, "dd-mm-yyyy"), FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.SaveAs Filename:="M:\01 DOSSIERS DE SUIVI\Cegid\Matrices integration\YouTube\Fichiers d'intégration\PANELIS -Intégration Youtube" & Format(Date, "dd-mm-yyyy"), FileFormat:=xlCSV, CreateBackup:=False, local:=True

ActiveWindow.Close

Workbooks(FichierPANELIS).Close

ThisWorkbook.Activate

OngletIntegration.Select If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

Je vous joint un exemple de fichier de ce que j'essaie de faire je compte sur vous je bloque depuis un moment et je ne sais pas quoi faire

merci d'avance

Bonjour

Merci de modifier ton profil afin d'indiquer ta version Excel (2016, 2019, 2021, 365) et non la langue car les solutions ne sont pas les mêmes

Bonjour,

J'ai la version 365

Rechercher des sujets similaires à "filtrer donnes partir liste variables"