Bonjour à tous
Je vous demande une petite analyse de mon code svp !
Je veux éditer des fichiers excel xlsx contenus dans un dossier avec des sous répertoires tous nommés "FT_*****.xlsx"
Je veux choisir le dossier à partir d'un fichier xlsm "Outil.xlsm" placé juste avant le dossier contenant les fichiers FT.
Je veux écrire dans chaque fichiers, créer une nouvelle feuille, la masquer etc...
Voici mes deux problèmes :
(J'ai mis TOUT désolé mais comme je ne sais pas encore comment trouver des erreurs dans mon code...)
Merci d'avance à Toi expert ;-)
Sébastien.
Je vous demande une petite analyse de mon code svp !
Je veux éditer des fichiers excel xlsx contenus dans un dossier avec des sous répertoires tous nommés "FT_*****.xlsx"
Je veux choisir le dossier à partir d'un fichier xlsm "Outil.xlsm" placé juste avant le dossier contenant les fichiers FT.
Je veux écrire dans chaque fichiers, créer une nouvelle feuille, la masquer etc...
Voici mes deux problèmes :
- Je voudrais faire un loop sur tous les fichiers du dossier mais également des sous-dossiers.
- Le loop de mon code ne s'arrete pas et je ne comprends pas pourquoi.
(J'ai mis TOUT désolé mais comme je ne sais pas encore comment trouver des erreurs dans mon code...)
Merci d'avance à Toi expert ;-)
Sébastien.
VB:
Function ChoixDossier()
On Error Resume Next
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
End Function
Sub MaJdesFichiers()
On Error Resume Next
Dim rep, nf As String
' Les fichiers doivent obligatoirement être sur C:
rep = ChoixDossier & "\"
nf = Dir(rep & "*.xlsx")
Application.ScreenUpdating = False
Do While Len(nf) > 0
With Workbooks.Open(rep & nf)
'Renommer la Feuille 1 et créer Feuille 2
Sheets(1).Select
Sheets(1).Name = "FT (Ne pas modifier)"
Sheets.Add After:=ActiveSheet
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "BDD"
Sheets("FT (Ne pas modifier)").Select
Range("A1").Select
'Modification Mise en page Feuille 1
Rows("1:1").Select
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Rows("42:45").Select
Range("A45").Activate
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows("46:49").Select
Selection.Copy
Rows("42:45").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("46:49").Select
Application.CutCopyMode = False
Selection.ClearContents
Rows("101:104").Select
Selection.Delete Shift:=xlUp
'Formules sur Feuille 1
Range("A1").Select
ActiveCell.Formula = _
"=IFERROR(C1,IFERROR(D1,IFERROR(E1,IFERROR(F1,""Trop de Sous-Dos.""))))"
Range("C1").Select
ActiveCell.Formula = _
"=IF(IFERROR(INDIRECT.EXT(""'..\[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")="""",""""),""vrai1"",""..\"")"
Range("D1").Select
ActiveCell.Formula = _
"=IF(IFERROR(INDIRECT.EXT(""'..\..\[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")="""",""""),""vrai2"",""..\..\"")"
Range("E1").Select
ActiveCell.Formula = _
"=IF(IFERROR(INDIRECT.EXT(""'..\..\..\[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")="""",""""),""vrai3"",""..\..\..\"")"
Range("F1").Select
ActiveCell.Formula = _
"=IF(IFERROR(INDIRECT.EXT(""'..\..\..\..\[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")="""",""""),""vrai4"",""..\..\..\..\"")"
Range("G1").Select
ActiveCell.Formula = _
"=LEFT(MID(CELL(""nomfichier"",A1),FIND(""["",CELL(""nomfichier"",A1))+1,999),FIND(""]"",MID(CELL(""nomfichier"",A1),FIND(""["",CELL(""nomfichier"",A1))+1,999))-1)"
Range("F9:H9").Select
ActiveCell.Formula = _
"=IF(A1=""Trop de Sous-Dos."",A1,IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!F9"")))"
Range("O9:Q9").Select
ActiveCell.Formula = _
"=INDEX(BDD!A2:D1107,MATCH(G1,BDD!A2:A1107,0),2)"
Range("S9").Select
ActiveCell.Formula = _
"=INDEX(BDD!A2:D1107,MATCH(G1,BDD!A2:A1107,0),3)"
Range("Y9:AA9").Select
ActiveCell.Formula = _
"=INDEX(BDD!A2:D1107,MATCH(G1,BDD!A2:A1107,0),4)"
Range("H13:AE13").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H13"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H13""))"
Range("H14:AE14").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H14"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H14""))"
Range("H15:AE15").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H15"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H15""))"
Range("H16:AE16").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H16"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H16""))"
Range("H17:AE17").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H17"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H17""))"
Range("H18:AE18").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H18"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!H18""))"
Range("G58:Q58").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!G54"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!G54""))"
Range("C96:L96").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C92"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C92""))"
Range("C97:L97").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C93"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C93""))"
Range("C98:L98").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C94"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C94""))"
Range("C99:L99").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C95"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C95""))"
Range("C100:L100").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C96"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!C96""))"
Range("M96:V96").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M92"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M92""))"
Range("M97:V97").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M93"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M93""))"
Range("M98:V98").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M94"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M94""))"
Range("M99:V99").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M95"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M95""))"
Range("M100:V100").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M96"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!M96""))"
Range("W96:AE96").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W92"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W92""))"
Range("W97:AE97").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W93"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W93""))"
Range("W98:AE98").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W94"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W94""))"
Range("W99:AE99").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W95"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W95""))"
Range("W100:AE100").Select
ActiveCell.Formula = _
"=IF(INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W96"")="""","""",INDIRECT.EXT(""'""&A1&""[_gestionnaireFT.xlsm]DONNEES_PROJET'!W96""))"
Range("V21").Select
'Sélection de la Feuille BDD
Sheets("BDD").Select
'Formules sur la Feuille BDD
Range("A1").Select
ActiveCell.Formula = "Fichiers - NE PAS SUPPRIMER"
Range("B1").Select
ActiveCell.Formula = "Numéro - NE PAS SUPPRIMER"
Range("C1").Select
ActiveCell.Formula = "Révision - NE PAS SUPPRIMER"
Range("D1").Select
ActiveCell.Formula = "Date - NE PAS SUPPRIMER"
Range("E1").Select
ActiveCell.Formula = "='FT (Ne pas modifier)'!A1"
Range("A2").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!J7:J200"")"
Range("B2").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!B7:B200"")"
Range("C2").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!C7:C200"")"
Range("D2").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!D7:D200"")"
Range("A196").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!J201:J400"")"
Range("B196").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!B201:B400"")"
Range("C196").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!C201:C400"")"
Range("D196").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!D201:D400"")"
Range("A396").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!J401:J600"")"
Range("B396").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!B401:B600"")"
Range("C396").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!C401:C600"")"
Range("D396").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!D401:D600"")"
Range("A596").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!J601:J800"")"
Range("B596").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!B601:B800"")"
Range("C596").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!C601:C800"")"
Range("D596").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!D601:D800"")"
Range("A796").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!J801:J1000"")"
Range("B796").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!B801:B1000"")"
Range("C796").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!C801:C1000"")"
Range("D796").Select
ActiveCell.Formula = _
"=INDIRECT.EXT(""'""&$E$1&""[_gestionnaireFT.xlsm]GESTIONNAIRE'!D801:D1000"")"
'Suppression des @ avant INDIRECT.EXT
Cells.Replace What:="@", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
FormulaVersion:=xlReplaceFormula2
'Mise en page Feuille BDD
Columns("A:E").Select
Columns("A:E").EntireColumn.AutoFit
Range("A1").Select
Sheets("BDD").Select
ActiveWindow.SelectedSheets.Visible = False
'Passer sur la Feuille FT
Sheets("FT (Ne pas modifier)").Select
Range("A1").Select
'Sauver puis fermer puis Loop
ActiveWorkbook.Save
ActiveWorkbook.Close
End With
nf = Dir()
Loop
End Sub