Copié-collé graphique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 ! 😀
Merci par avance à vous tous !

David
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
903
Réponses
3
Affichages
539
  • Question Question
Microsoft 365 Erreur de macro
Réponses
4
Affichages
795
Réponses
5
Affichages
590
Retour