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