Sub chargerDonnees()
On Error GoTo errChargerDonnees
Dim nb As Integer, nbFeuille As Integer
Dim Feuille As String, newFeuille As String
Dim repertoire As String
Sheets("Accueil").Activate
serveur = "g:"
serveur = InputBox("A quel serveur souhaitez-vous accéder ?", "Nom serveur", serveur)
repertoire = serveur + "\EvolutionExcel"
repertoire = InputBox("A quel répertoire souhaitez-vous accéder ?", "Nom répertoire", repertoire)
Dim fichier As String
fichier = "Resultat Palmares ETAB Obj.xlsx"
Dim newFichier As String
newFichier = "Resultat Palmares.xlsm"
fichier = InputBox("Quel fichier souhaitez-vous traiter ?", "Nom fichier", fichier)
Dim wk1 As Workbook
Dim wk2 As Workbook
Set wk1 = ActiveWorkbook
Set wk2 = Workbooks.Open(repertoire + "/" + fichier)
Dim i As Integer, j As Integer, k As Integer
Dim tableauFeuille(1 To 20) As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
'
' ==========> recherche des feuilles à charger
'
nbFeuille = 0
For i = 1 To wk2.Sheets.Count
If Not Left(wk2.Sheets.Item(i).Name, 5) = "Feuil" Then
nbFeuille = nbFeuille + 1
Feuille = wk2.Sheets.Item(i).Name
Sheets(Feuille).Copy After:=wk1.Sheets(wk1.Sheets.Count)
wk2.Activate
tableauFeuille(i) = Feuille
'MsgBox "feuille à charger : " + Sheets.Item(i).Name, 0, "Chargement"
End If
Next i
wk2.Close False
'
' =====> chargement des feuilles
'
For i = 1 To nbFeuille
Feuille = tableauFeuille(i)
For j = 2 To 20
If Sheets("ParamExecution").Cells(j, 1).Value = Feuille Then
Exit For
Else
If Sheets("ParamExecution").Cells(j, 1).Value = "" Then
Sheets("ParamExecution").Cells(j, 1).Value = Feuille
Sheets("ParamExecution").Cells(j, 3).Value = "Oui"
Exit For
End If
End If
Next j
Next i
'
' ==========> réinitialiser les liens sur le nouveau fichier Excel
'
Cells.Replace What:="'" & repertoire & "/[" & fichier & "]Fabriq'", _
Replacement:="Fabriq", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:= _
False, _
ReplaceFormat:=False
'
' ==========> Fermeture du fichier des données
'
GoTo exitChargerDonnees
'
' ==========> sauvegarde du fichier de données en fichier avec macro
'
'ActiveWorkbook.SaveAs Filename:= _
' repertoire + "\" + Mid(fichier, 1, Len(fichier) - 5) + ".xlsm", FileFormat:= _
' xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
errChargerDonnees:
MsgBox "Code erreur : " + Err + " en " + Erl + " - " + Error, 0, "Erreur"
exitChargerDonnees:
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub