Dupication & compilation de données

Bonjour à tous,

Etant novice sur VBA, je vous explique mon problème.

J’ai plusieurs fichiers excel qui ont une seule feuille chacun avec des données et des graphs dessus.

Toutes ces feuilles sont identiques. Je souhaite regrouper toutes ces feuilles dans un seul et même fichier, je veux d’abord faire un copier coller de chaque feuille et que ces feuilles soient nommées par le contenu de la case B6, pour le moment j’ai taper cela, ça fonctionne sauf qu’à chaque fois que ça va chercher les données (j’ai par exemple 18 fichiers excel), ça ouvre les fichiers un par un et ça me demande si je veux enregistrer les modifications du fichier où je suis allé chercher les données et les graphs:

Dim classeur As String
classeur = Dir(« C:\Users\villotm2\Desktop\test*.xlsx »)
ChDir « C:\Users\villotm2\Desktop\test »

Do While Len(classeur) > 0

Workbooks.Open classeur
Sheets(1).Copy After:=Workbooks(« COMBINER »).ActiveSheet
Workbooks(classeur).Close

ActiveSheet.Name = [B6]

classeur = Dir

Loop

End Sub

Du coup comment ne pas avoir ce pop-up qui s’ouvre?

Ensuite, je bloque pour ajouter des feuilles où il y aura la synthèse de chaque feuille dupliquée.

Il faudrait qu’une fois que mes 18 feuilles (voire plus) ajoutées dans le fichier que ça créé 5 nouvelles feuilles de synthèse dont les noms sont XPD, XPI45, XPI135, CM et DIR.

  1. La feuille XPD regroupe dans la colonne A les données de Q15 à Q800 de n’importe quelle feuille (c’est les mêmes) et ensuite pour les 18 autres colonnes les données de chaque feuille des cellules S15 à S800

  2. La feuille XPI45 regroupe dans la colonne A les données de BA3 à BA800 de n’importe quelle feuille (c’est les mêmes) et ensuite pour les 18 autres colonnes les données de chaque feuille des cellules BB3 à BB800

3)La feuille XPI135 regroupe dans la colonne A les données de BA3 à BA800 de n’importe quelle feuille (c’est les mêmes) et ensuite pour les 18 autres colonnes les données de chaque feuille des cellules BI3 à BI800

  1. La feuille CM regroupe dans la colonne A les données de Z15 à Z50 de n’importe quelle feuille (c’est les mêmes) et ensuite pour les 18 autres colonnes les données de chaque feuille des cellules AB15 à AB50

  2. La feuille DIR regroupe dans la colonne A les données de Z15 à Z50 de n’importe quelle feuille (c’est les mêmes) et ensuite pour les 18 autres colonnes les données de chaque feuille des cellules AG15 à AG50

Et pour finir, il faudrait que pour chacune de ces 5 feuilles, le contenu de la cellule A1 soit FREQ et ensuite pour B1, C1, D1, etc… est le contenu de la cellule B6 de chaque feuille copiée (B6 correspond à un N° de série)

J’espère avoir été clair dans mes explications car ce n’est pas évident.

Est-ce que quelqu’un serait en capacité de m’aider?

Je suis à fond sur les tutos et les cours en vidéo mais là, je bloque.

Un grand merci d’avance.

Marc

Bonjour,
Pour la première demande
mettre ce code

Dim classeur As String
classeur = Dir("C:\Users\villotm2\Desktop\test*.xlsx")
ChDir "C:\Users\villotm2\Desktop\test"
Do While Len(classeur) > 0
Workbooks.Open classeur
Sheets(1).Copy After:=Workbooks("COMBINER").ActiveSheet
Application. DisplayAlerts = false
Workbooks(classeur).Close
Application. DisplayAlerts = true
ActiveSheet.Name = [B6]
classeur = Dir
Loop
End Sub

Bref il faut avant et après le close du fichier, placer

Application. DisplayAlerts = false
***.close
Application. DisplayAlerts =true

pour le reste, il faut un fichier exemple
image

Bonsoir Mimimathy,

Tout d’abord, merci pour votre retour, cela est très gentil de votre part car je galère pas mal… Je joins un fichier exemple . J’ai enlevé tous les graphiques car c’est confidentiel
exemple de fichier à compiler.xlsx (154,2 Ko)
comme vous l’avez mentionné, je n’ai laissé que les données utiles
Un grand merci d’avance.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.