VBA - recopier la data validation du fichier initial

flbcortex

XLDnaute Nouveau
Bonjour à tous,
je calle sur une macro et m'en remets donc à vous :)
Ma macro splitte un fichier excel en plusieurs fichiers excel sur base d'une colonne determinée.
J'aimerais pouvoir récupérer ma mise en forme, mes filtres mais surtout la data validation que j'ai faite sur certaines cellules.
Voici ma macro qui fonctionne mais sans récuperer la data validation
Sub GenerateCSV()
Application.ScreenUpdating = False
Application.DisplayAlerts = False

iCol = 4 '### Define your criteria column
strOutputFolder = "C:\test" '### Define your path of output folder

Set ws = ThisWorkbook.ActiveSheet '### Don't edit below this line
Set rngLast = Columns(iCol).Find("*", Cells(1, iCol), , , xlByColumns, xlPrevious)
ws.Columns(iCol).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Set rngUnique = Range(Cells(2, iCol), rngLast).SpecialCells(xlCellTypeVisible)

If Dir(strOutputFolder, vbDirectory) = vbNullString Then MkDir strOutputFolder
For Each strItem In rngUnique
If strItem <> "" Then
ws.UsedRange.AutoFilter Field:=iCol, Criteria1:=strItem.Value
Workbooks.Add
ws.UsedRange.SpecialCells(xlCellTypeVisible).Copy Destination:=[A1]
strFilename = strOutputFolder & "\" & strItem
ActiveWorkbook.SaveAs Filename:=strFilename, FileFormat:=51
ActiveWorkbook.Close savechanges:=False
End If
Next
ws.ShowAllData

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Un tout grand merci pour votre aide
 

Staple1600

XLDnaute Barbatruc
Re : VBA - recopier la data validation du fichier initial

Bonjour à tous

je calle sur une macro et m'en remets donc à vous :)
Je cale sur l'absence de fichier exemple joint dans le fil (avec VBA et data validation inside) et je m'en remets donc à toi, flbcortex
(à qui je souhaite la bienvenue sur XLD)


PS: Ta macro devrait plutôt, en toute logique, s'appeler Sub GenerateXLSX, non ? ;)
 
Dernière édition:

flbcortex

XLDnaute Nouveau
Re : VBA - recopier la data validation du fichier initial

Merci pour la bienvenue :)
effectivement ma macro devrait plutot s'appeler Sub GenerateXLSX ;-)

j'ai créé un fichier test "test macro.xlsm"
le but est de créer un fichier par section (RH, Comptabilité et Informatique) qui reprend toutes les infos dans les colonnes correspondantes.
J'ai également attaché un fichier résultat "RH.xlsx"

Ma macro fonctionne bien mais elle ne me permet pas de garder la data validation que j'ai appliquée sur la colonne C.
Ca serait super si qqn pouvait m'aider.

Très bonne journée
 

Pièces jointes

  • test macro.xlsm
    17.9 KB · Affichages: 38
  • test macro.xlsm
    17.9 KB · Affichages: 43
  • test macro.xlsm
    17.9 KB · Affichages: 41
  • RH.xlsx
    8.9 KB · Affichages: 26
  • RH.xlsx
    8.9 KB · Affichages: 39
  • RH.xlsx
    8.9 KB · Affichages: 41