Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro et liste déroulante

EnnaEnna

XLDnaute Nouveau
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
 

Pièces jointes

  • MC.xlsm
    23.6 KB · Affichages: 38

Discussions similaires

Réponses
2
Affichages
838
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…