Bonjour,
J'ai construit une macro permettant de dispatcher un onglet principal "Liste" en plusieurs fichiers 1,2,3,4,5 (1,2,3,4,5 correspondent aux affectations des personnes)
L'onglet "Liste" dispose des colonnes :
Nom | Prénom | Sexe | Affectation
Sur cet onglet principal, il y a une liste déroulante pour l'information sexe "Féminin, Masculin", j'aimerais que cette liste déroulante soit également dupliquée lors de l’exécution de la macro.
En effet, la partie soulignée semble poser problème, est ce que quelqu'un pourrait m'aider s'il vous plait ?
Je vous joins également le fichier.
Sub repartition_par_onglet()
Dim i As Integer
For i = 2 To 5 ' les nb d'affectation identifiées dans l'onglet "TCD"
Sheets("Liste").Select
Rows("1:1").Select ' sélection de la ligne 1
Selection.AutoFilter ' mise en place d'un filtre sur la ligne sélectionnée
Range("D1").Select ' sélection de la colonne affectation
ActiveSheet.Range("$A$1:$D$15000").AutoFilter Field:=4, Criteria1:=Sheets("TCD").Cells(i, 3) 'filtre des données par type d'affectation
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count) ' ajout d'un onglet pour chque nvelle affectation
ActiveSheet.Paste
ActiveSheet.Name = Range("D2") 'nommage en fonction de la cellule D2
Next
End Sub
Sub creation_des_fichiers() 'macro pour créer un fichier pour chaque onglet créé par la macro précédente
For Each feuille In ActiveWorkbook.Sheets
feuille.Copy
With ActiveWorkbook
.Title = feuille.Name
.Subject = feuille.Name
.SaveAs Filename:=feuille.Name + "_" + Format(Date, "YYYYMMDD") + ".xlsx" 'Enregistre le fichier sous le nom suivant :
'Nom de l'onglet + Date du jour + extension xlsx
ActiveWorkbook.Close 'ferme le fichier Excel créé
'liste GENRE
Columns("A:A").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="masculin,féminin"
End With
Next
End Sub
En vous remerciant,
EnnaEnna
J'ai construit une macro permettant de dispatcher un onglet principal "Liste" en plusieurs fichiers 1,2,3,4,5 (1,2,3,4,5 correspondent aux affectations des personnes)
L'onglet "Liste" dispose des colonnes :
Nom | Prénom | Sexe | Affectation
Sur cet onglet principal, il y a une liste déroulante pour l'information sexe "Féminin, Masculin", j'aimerais que cette liste déroulante soit également dupliquée lors de l’exécution de la macro.
En effet, la partie soulignée semble poser problème, est ce que quelqu'un pourrait m'aider s'il vous plait ?
Je vous joins également le fichier.
Sub repartition_par_onglet()
Dim i As Integer
For i = 2 To 5 ' les nb d'affectation identifiées dans l'onglet "TCD"
Sheets("Liste").Select
Rows("1:1").Select ' sélection de la ligne 1
Selection.AutoFilter ' mise en place d'un filtre sur la ligne sélectionnée
Range("D1").Select ' sélection de la colonne affectation
ActiveSheet.Range("$A$1:$D$15000").AutoFilter Field:=4, Criteria1:=Sheets("TCD").Cells(i, 3) 'filtre des données par type d'affectation
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count) ' ajout d'un onglet pour chque nvelle affectation
ActiveSheet.Paste
ActiveSheet.Name = Range("D2") 'nommage en fonction de la cellule D2
Next
End Sub
Sub creation_des_fichiers() 'macro pour créer un fichier pour chaque onglet créé par la macro précédente
For Each feuille In ActiveWorkbook.Sheets
feuille.Copy
With ActiveWorkbook
.Title = feuille.Name
.Subject = feuille.Name
.SaveAs Filename:=feuille.Name + "_" + Format(Date, "YYYYMMDD") + ".xlsx" 'Enregistre le fichier sous le nom suivant :
'Nom de l'onglet + Date du jour + extension xlsx
ActiveWorkbook.Close 'ferme le fichier Excel créé
'liste GENRE
Columns("A:A").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="masculin,féminin"
End With
Next
End Sub
En vous remerciant,
EnnaEnna