Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Dupication & compilation de données

Marco17121981

XLDnaute Nouveau
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


4) 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


5) 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
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Alors pour la première question, trois possibilités :
VB:
Workbooks(classeur).Close SaveChanges:=False 'ou True si vous voulez enregistrer les modifications
Ou
Code:
WorkBooks(classeur).Saved = True
WorkBooks(classeur).Close

Code:
Application.DisplayAlerts = false
WorkBooks(classeur).Close
Application.DisplayAlerts = true

Mais je n'utiliserai aucune des ces trois solutions, car à votre place j'utiliserai power query (inclus dans votre version) qui est là pour faire ce genre de travail.

Cordialement
Hello @chris, si j'avions su j'aurions pas répondu.
 

chris

XLDnaute Barbatruc
@ Hasco

J'ai même cru à un triplon car un autre post très similaire signale aussi des graphiques.
J'avais, après solution PowerQuery proposé VBA pour cette raison mais plus de nouvelles...

Je crois que je vais m'abstenir de répondre maintenant aux nouveaux le temps qu'ils apprennent à respecter les règles des forums ou la politesse.
 
Dernière édition:

Marco17121981

XLDnaute Nouveau
@chris : en quoi ai-je été impoli s'il vous plaît? C'est la première fois que j'utilise un forum pour demander de l'aide. Pour ma part, relisez mon post, en aucun cas je vous demande des graphiques!! Et excusez moi d'être novice sous VBA. Je ne demande pas que l'on me crée une macro mais simplement que l'on me mette sur des piste, que l'on me guide.

Et merci pour votre retour, pour ce qui est de powerquery, cela ne fonctionne pas car je veux garder la mise en page avec des graphiques déjà tracés sur les feuilles que je copie.

Bien cordialement
 

chris

XLDnaute Barbatruc
@Marco
En ce qui te concerne ce sont les règles seulement mais tous les jours de nouveaux venus, semblent oublier de lire la charte attentivement et soit contreviennent aux règles de fonctionnement, soit aux règles de politesse.

"C'est la première fois que j'utilise un forum pour demander de l'aide" tu l'as fait sur au moins 2 forums...

Concernant les graphiques, je citais juste une autre demande très proche de la tienne, où les onglets à synthétiser portaient également des graphiques et j'indiquais à Hasco que, ne pouvant rapatrier les graphiques via PowerQuery, VBA s'impose ici.
 

Discussions similaires

Réponses
14
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…