Bonjour à tous,
je viens vers vos connaissances si vous pouviez m’aider…
en gros j’ai 5 fichiers identiques (1/poste) avec différentes feuilles dont une “1-Récap et calcul”, cette dernière à la même structure dans les 5 fichiers (c’est celle dont je voudrais récupérer les infos) dans un 6 ème fichier.
voici les noms de mes fichiers:
-SIBA
-SINI
-SITU
-SIJO
-SIWA
Le fichier de destination s’appelle “consolidation” et la feuille de destination aussi ("consolidation)
Voici un code que j’ai pu trouver sur le web et que j’essaie d’adapter mais rien n’y fait…
il construit bien ma feuille avec les colonnes et entêtes mais aucune importation ne se fait
Option Explicit
Sub consolider()
’ Procédure permettant la consolidation de plusieurs classeurs
’
Dim wbk As Workbook
Dim wshScr As Worksheet
Dim wshDst As Worksheet
Dim celDst As Range
Dim chemin As String
Dim nomClasseur As String
Dim derLigne As Long
’ On désactive le raffraichissement de l’écran
Application.ScreenUpdating = False
’ Définition de la feuille de destination
Set wshDst = ThisWorkbook.Worksheets(“consolidation”)
’ Etape n°1 : création des en-têtes
'Réinitialisation du fichier de synthèse des classements
With wshDst
.Columns(“A:CO”).Clear
.Range(“A2”).Value = “Nom”
.Range(“B2”).Value = “Prénom”
.Range(“C2”).Value = “Poste”
.Range(“D2”).Value = “N°”
.Range(“E2”).Value = “P/V”
.Range(“F2”).Value = “Grade”
.Range(“G2”).Value = “Points finaux”
.Range(“H2”).Value = “ctrl YST”
.Range(“I2”).Value = “Veste”
.Range(“J2”).Value = “Veste taille”
.Range(“K2”).Value = “Pantalon”
.Range(“L2”).Value = “Pantalon taille”
.Range(“M2”).Value = “T-shirt”
.Range(“N2”).Value = “T-shirt taille”
.Range(“O2”).Value = “Polo MC”
.Range(“P2”).Value = “Polo MC taille”
.Range(“Q2”).Value = “Polo ML”
.Range(“R2”).Value = “Polo ML taille”
.Range(“S2”).Value = “Sweat”
.Range(“T2”).Value = “Sweat taille”
.Range(“U2”).Value = “Pull raz du cou”
.Range(“V2”).Value = “Pull raz du cou taille”
.Range(“W2”).Value = “Pull col tirette”
.Range(“X2”).Value = “Col tir. taille”
.Range(“Y2”).Value = “Chaussette été”
.Range(“Z2”).Value = “Chau été taille”
.Range(“AA2”).Value = “Chaussette hiver”
.Range(“AB2”).Value = “Chau hiver taille”
.Range(“AC2”).Value = “Chaussure haute tige”
.Range(“AD2”).Value = “Chau Ht taille”
.Range(“AE2”).Value = “Chaussure sécu”
.Range(“AF2”).Value = “Chau sécu taille”
.Range(“AG2”).Value = “Chaussure mocassin”
.Range(“AH2”).Value = “Chau mocassin taille”
.Range(“AI2”).Value = “Ceinture”
.Range(“AJ2”).Value = “Grade poitrine”
.Range(“AK2”).Value = “Grade poitr type”
.Range(“AL2”).Value = “Grades épaules”
.Range(“AM2”).Value = “Grades ép. type”
.Range(“AN2”).Value = “Nominette”
.Range(“AO2”).Value = “Sous vêtement T-shirt”
.Range(“AP2”).Value = “Ss vêt t-shirt taille”
.Range(“AQ2”).Value = “Sous vêtement caleçon”
.Range(“AR2”).Value = “Ss vêt caleçon taille”
.Range(“AS2”).Value = “Chaussure de sport”
.Range(“AT2”).Value = “Chauss sport taille”
.Range(“AU2”).Value = “Short sport”
.Range(“AV2”).Value = “Short sport taille”
.Range(“AW2”).Value = “Vareuse sortie”
.Range(“AX2”).Value = “Vareuse de sortie taille”
.Range(“AY2”).Value = “Pantalon de sortie”
.Range(“AZ2”).Value = “Pant sortie taille”
.Range(“BA2”).Value = “Képi”
.Range(“BB2”).Value = “Képi taille”
.Range(“BC2”).Value = “Chemise blanche MC”
.Range(“BD2”).Value = “Chem Bla MC taille”
.Range(“BE2”).Value = “Chemise blanche ML”
.Range(“BF2”).Value = “Chem Bla ML taille”
.Range(“BG2”).Value = “Chemise bleue MC”
.Range(“BH2”).Value = “Chem Ble MC taille”
.Range(“BI2”).Value = “Chemise bleue ML”
.Range(“BJ2”).Value = “Chem Ble ML taille”
.Range(“BK2”).Value = “Chaussure de ville lacet”
.Range(“BL2”).Value = “Chau ville lac taille”
.Range(“BM2”).Value = “Chaussure de ville mocassin”
.Range(“BN2”).Value = “Chau ville Moc taille”
.Range(“BO2”).Value = “Cravatte”
.Range(“BP2”).Value = “Gants noirs”
.Range(“BQ2”).Value = “Gants noirs taille”
.Range(“BR2”).Value = “Gants blancs”
.Range(“BS2”).Value = “Gants blancs taille”
.Range(“BT2”).Value = “Epaulibres”
.Range(“BU2”).Value = “Casquette”
.Range(“BV2”).Value = “Bonnet”
.Range(“BW2”).Value = “Bretelles”
.Range(“BX2”).Value = “Softshell”
.Range(“BY2”).Value = “Softshell taille”
.Range(“BZ2”).Value = “Couteau mulit fonction”
.Range(“CA2”).Value = “Lampe torche led”
.Range(“CB2”).Value = “Lampe frontale”
.Range(“CC2”).Value = “Sangle Rhinoevac”
.Range(“CD2”).Value = “Ciseaux ambu”
.Range(“CE2”).Value = “Stétoscope”
.Range(“CF2”).Value = “Solde points”
.Range(“CG2”).Value = “Total tenue de service”
.Range(“CH2”).Value = “Total sport”
.Range(“CI2”).Value = “Total cérémonie”
.Range(“CJ2”).Value = “Total accessoires”
.Range(“CK2”).Value = “Total points”
.Range(“CL2”).Value = “Solde calculé”
.Range(“CM2”).Value = “Quota accessoires > 20%”
.Range(“CN2”).Value = “Report > 10%”
.Range(“CO2”).Value = “Dépassement”
’ On définit la cellule de destination des données
Set celDst = .Range(“A3”)
End With
’ Etape n° 2 : Parcourir tous les fichiers du dossier prédéfini
chemin = ThisWorkbook.Path & “consolidation”
’ On cherche le premier classeur dans le dossier
nomClasseur = Dir(“C:\Users\Vincent\Desktop\consolidation” & “*xlsm”)
’ On boucle pour chercher tous les classeurs
Do While Len(nomClasseur) > 0
If nomClasseur <> ThisWorkbook.Name Then
Set wbk = Workbooks.Open(“C:\Users\Vincent\Desktop\consolidation” & “*xlsm”) 'Ouverture du Classeur
On Error Resume Next
Set wshScr = wbk.Worksheets(“1-Récap et Calcul”) 'Définis la feuille de calcul consolidation
On Error GoTo 0
If Not wshScr Is Nothing Then
With wshScr
derLigne = .Cells(.Rows.Count, “A”).End(xlUp).Row 'Numéro de le derniere ligne de données
Range(“A4:CO” & derLigne).Copy celDst 'Copie de toutes les données
End With
’ On définit la prochaine cellule de destination des données
Set celDst = celDst.Offset(derLigne - 2)
End If
wbk.Close False ’ Fermeture du classeur ouvert sans le modifier
nomClasseur = Dir ’ On passe au prochain classeur
End If
Loop
MsgBox " Consolidation terminée "
’ On ré-active le raffraichissement de l’écran ’
Application.ScreenUpdating = True
End Sub