Copié-collé graphique

Holeshotman

XLDnaute Junior
Bonjour à tous les membres du forum,

Je bute un peu sur un problème de macro ...
J'ai un dossier nommé "6385" dans lequel se trouve des fichiers .xlsx et des fichiers .csv.
Dans tous les fichiers en .xlsx se trouve un graphique "Graphique 1" sur la deuxième feuille "Feuil2".

Ce que je souhaiterais faire, c'est, pour chaque fichier en .xlsx, copier le graphique et le coller sur la première feuille d'un autre fichier Excel nommé "Graphgroupe.xlsm".
Le soucis c'est qu'il faudrait placer les graphiques de manière ordonnée de façon à définir une sorte de tableau, sinon ils vont tous être superposés et niveau présentation, ce ne sera pas top ... (on peut imaginer placer les graphiques sur 2 colonnes par exemple).

J'ai essayé de commencer quelque chose mais je n'ai pas trop d'idée pour ce qui est de la mise en forme des graphiques sur le fichier "Graphgroupe.xlsm" :

Code:
Sub ouvrirfichiers()
Dim Fichier As String, Chemin As String
Dim Wb As Workbook

Chemin = "C:\Users\DPARNAL\Desktop\CSV_BAL_3\6385\"
Fichier = Dir(Chemin & "*.xlsx")
 
Do While Fichier <> ""
Set Wb = Workbooks.Open(Chemin & Fichier)
Set Wb = Nothing
Fichier = Dir
Sheets("Feuil2").ChartObjects("Graphique 1").Copy
Workbooks("Graphregroupe").Sheets("Feuil1").Select
Selection.Paste
Loop

End Sub

Si quelqu'un a déjà buté sur ce type de problème, je suis très intéressé par son aide ! :D
Merci par avance à vous tous !

David
 

MJ13

XLDnaute Barbatruc
Re : Copié-collé graphique

Bonjour David

Voici un code que j'utilise pour placer des graphiques en colonnes. A voir si c'est adaptable :).

Code:
Sub Cumul_Graphiques_Images_N_Colonnes()
'Stop
FDep = "Cumul Graphiques" 'ActiveSheet.Name
FGraph = "Graphique1"
FCumulGraph = "Cumul Graphiques"
Sheets(FCumulGraph).Pictures.Delete
MaxiGraphiques = 10 'Nombre de graphiques à tracer
NBColonnes = 4 'Nombre de colonne pour les graphiques sur la feuille
BoucleColonne = MaxiGraphiques / NBColonnes 'Nombre de boucle suivant le nombre de graphiques
NIncDeb = 1 'Numéro de Début de graphique
IncLigne = 27 'incrément pour la feuille en lignes
IncCol = 10 ''incrément pour la feuille en colonnes
Sheets.Add
'Insertion des coodronnées des graphiques suivant les paramètres précédents
ActiveSheet.Name = "Coord"
For k = 1 To MaxiGraphiques Step NBColonnes
Cells(k, 1) = 1 + (Int(k / NBColonnes) * IncLigne)
For p = 0 To NBColonnes - 1
Cells(k + p, 2) = 1 + (p * (IncCol - 1))
Next
Next
For Each cell In Range(Cells(1, 1), Cells(MaxiGraphiques, 1))
If cell = "" Then cell.Value = cell.Offset(-1, 0).Value
Next
 
For i = NIncDeb To MaxiGraphiques
Sheets(FDep).Select
ActiveSheet.Range("$A$4:$B$200").AutoFilter Field:=2, Criteria1:=i
'ActiveSheet.Range("$A$4").CurrentRegion.Select
ActiveSheet.Range("zone").Select
Sheets(FGraph).CopyPicture
Sheets(FCumulGraph).Select
'Range("A" & ((i - 1) * 28) + 1).Select
Cells(Sheets("Coord").Cells(i, 1).Value, Sheets("Coord").Cells(i, 2).Value).Select
ActiveSheet.PasteSpecial Format:="Image (métafichier amélioré)", Link:= _
        False, DisplayAsIcon:=False
        Selection.ShapeRange.Height = 340
Next
[A1].Select
Application.DisplayAlerts = False
Sheets("Coord").Delete
Application.DisplayAlerts = True
End Sub
 

sousou

XLDnaute Barbatruc
Re : Copié-collé graphique

Bonjour à tous
Avec un peu de retard.
Avec un collage des images des graphique dans ta feuille.
Pas très propre comme code, mais les idées sont là.

Dans le zip, tous les fichiers
 

Pièces jointes

  • Graph1.zip
    53.8 KB · Affichages: 32
  • Graph1.zip
    53.8 KB · Affichages: 45
  • Graph1.zip
    53.8 KB · Affichages: 35

Discussions similaires

Réponses
4
Affichages
563

Statistiques des forums

Discussions
312 492
Messages
2 088 942
Membres
103 989
dernier inscrit
jralonso