IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Copier le contenu d'une feuille Excel avec graphes et images


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut Copier le contenu d'une feuille Excel avec graphes et images
    Je vous expose mon problème. Je suis en train de mettre en place une copie d'un sous ensemble de mes feuilles Excel d'un document A vers un autre document B. Je souhaite écrire une macro qui s'exécute rapidement.

    Voici ma macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim sourceBook As Excel.Workbook
    Dim newFile As Excel.Workbook
    Dim newSheet As Worksheet
    Dim astrLinks As Variant
    
    Set sourceBook = Application.ActiveWorkbook
    Set newFile = Workbooks.Add(xlWBATWorksheet)
    
    Set newSheet = newFile.Worksheets("Feuil1")
    newSheet.Name = "Scenario"
    sourceBook.Sheets("Scenario").Unprotect
    sourceBook.Sheets("Scenario").Range("all" & "Scenario").Copy newSheet.Range("A1")
    astrLinks = newFile.LinkSources(Type:=xlLinkTypeExcelLinks)
    newFile.BreakLink Name:=astrLinks(1), Type:=xlLinkTypeExcelLinks
    
    newFile.SaveAs (sourceBook.Path & "\doc_version_light.xls")
    Si j'enlève les deux lignes en roses, la macro s'exécute en 2 secondes, mais je perds mes graphes et mes images.
    Si je laisse comme ça, mes graphes et images restent mais je peux prendre un café (voire 2 ou 3) entre temps....

    Merci de votre collaboration


    Billy

  2. #2
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    J'ai résolu mon problème avec ceci, mais comment maintenant le coller aux bonnes coordonnées ?? Ce code copie tous mes graphiques au coin supérieur gauche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim sourceBook As Excel.Workbook
    Dim newFile As Excel.Workbook
    Dim newSheet As Worksheet
    Dim astrLinks As Variant
     
    Set sourceBook = Application.ActiveWorkbook
    Set newFile = Workbooks.Add(xlWBATWorksheet)
     
    Set newSheet = newFile.Worksheets("Feuil1")
    newSheet.Name = "Scenario"
    sourceBook.Sheets("Scenario").Unprotect
    sourceBook.Sheets("Scenario").Range("all" & "Scenario").Copy newSheet.Range("A1")
     
    For Each Graph In sourceBook.Sheets("Scenario").ChartObjects
        Graph.CopyPicture
        newSheet.PasteSpecial Link:=False, DisplayAsIcon:=False
     
    Next Graph
     
    newFile.SaveAs (sourceBook.Path & "\doc_version_light.xls")

  3. #3
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Ce problème est résolu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Dim sourceBook As Excel.Workbook
    Dim newFile As Excel.Workbook
    Dim newSheet As Worksheet
    Dim astrLinks As Variant
     
    Set sourceBook = Application.ActiveWorkbook
    Set newFile = Workbooks.Add(xlWBATWorksheet)
     
    Set newSheet = newFile.Worksheets("Feuil1")
    newSheet.Name = "Scenario"
    sourceBook.Sheets("Scenario").Unprotect
    sourceBook.Sheets("Scenario").Range("all" & "Scenario").Copy newSheet.Range("A1")
     
    For Each Graph In sourceBook.Sheets("Scenario").ChartObjects
        Graph.CopyPicture
        newSheet.PasteSpecial Link:=False, DisplayAsIcon:=False
        newSheet.DrawingObjects.left = Graph.left
        newSheet.DrawingObjects.top = Graph.top
    Next Graph
     
    newFile.SaveAs (sourceBook.Path & "\doc_version_light.xls")
    Maintenant une dernière et je vous embête plus: Comment dimensionner les cases du document destination avec les mêmes hauteurs et largeur que le source??

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    j'ai posté un code qui semble pouvoir répondre à ta problématique :

    http://www.developpez.net/forums/sho...d.php?t=258635

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection d'une feuille excel avec une listbox
    Par felibelle dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2022, 17h27
  2. [XL-2010] Comment copier une Textbox et placer son contenu dans une feuille excel
    Par Tcool27 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2014, 13h55
  3. Remplir une comboBox avec le contenu d'une feuille excel
    Par monichou86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/01/2010, 13h46
  4. [VBA-E]Remplir combobox avec contenu d'une feuille Excel
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2006, 16h16
  5. ecrire sur une feuille excel avec Asp
    Par Ajay dans le forum ASP
    Réponses: 7
    Dernier message: 06/01/2006, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo