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

Macros et VBA Excel Discussion :

Copie feuille avec tableaux sans liaisons et graphiques en images


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Copie feuille avec tableaux sans liaisons et graphiques en images
    Bonjour

    Je ne connais que très très peu le VBA donc je galère pas mal ..

    J'ai un code qui permet de copier une feuille vers une nouvelle en choisissant le nom dans une fenêtre . Cela fonctionne, mais par contre il y à des graphiques qui gardent les liens avec les données ce que je ne veux pas ! j'aimerai qu'ils soient copiés en format images. j'ai trouvé des commandes VBA pour ça mais impossible )à placer dans le code que j'ai sans erreurs.. de plus il me copie aussi les boutons VBA de commandes ce que je ne veux pas, je désire juste les tableaux et les graphiques en images c est tout !

    Voici la partie du code de copie:

    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
    22
    Private Sub OK_Click()
    If ComboBox1 = "" Then
    MsgBox ("VEUILLEZ SELECTIONNER LA SEMAINE A CREER")
    Exit Sub
    End If
    For I = 1 To Sheets.Count
    If UCase(Left(Sheets(I).Name, Len(ComboBox1))) = UCase(ComboBox1) Then
    MsgBox ("La feuille " & UCase(ComboBox1) & " existe déjà, si vous désirez regénérer une feuille de données veuillez la supprimer avant toute action")
    Exit Sub
    End If
    Next I
    ' Copie de la feuille "Reporting" sans les formules pour éviter que les données se mettent à jours
     Application.ScreenUpdating = False
     Sheets("Reporting").Copy after:=Sheets(Sheets.Count)
    With ActiveSheet
         .Name = UCase(ComboBox1) & "_" & Format(Now, "yyyy")
         With .UsedRange
             .Value = .Value
         End With
    End With
    Unload Me
    End Sub


    Merci les gens d'avance !
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Points : 1 141
    Points
    1 141
    Par défaut
    Bonjour,

    Le plus simple semble de copier la feuille, puis de supprimer toutes les Shapes présentes dans la copie.
    Une boucle sur les Shapes de la feuille d'origine vous permettra alors de repérer les graphiques et de les copier comme vous le souhaitez.

    Cela pourrait donner quelque chose comme ça (simplifier au max, à adapter à votre cas) :
    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
    Sub CeciEstUnTest()
        Dim Sht As Sheet, Shp As Shape, Chrt As Chart, Nam As String, Rng As Range
        Sheets("Reporting").Copy After:=Sheets(Sheets.Count)
        Set Sht = Sheets(Sheets.Count)
        On Error Resume Next
        With Sht
            For Each Shp In .Shapes
                Set Chrt = Shp.Chart
                If Err.Number <> 0 Then
                    Err.Clear
                Else
                    Nam = Shp.Name
                    Set Rng = Shp.TopLeftCell
                    Shp.Delete
                    Sheets("Reporting").Shapes(Nam).CopyPicture xlScreen, xlBitmap
                    .Paste  Destination:=Rng
                End If
            Next Shp
        End With
        On Error Goto 0
    End Sub
    Je précise que je n'ai pas testé ce code...

Discussions similaires

  1. [XL-2007] Protection feuille avec et sans cellules déverrouillées
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/05/2012, 16h15
  2. [XL-2007] copie d'une feuille avec un graphique
    Par starvel dans le forum Excel
    Réponses: 4
    Dernier message: 13/03/2012, 13h53
  3. [E-07] copie feuille avec graphique
    Par beekeep dans le forum Excel
    Réponses: 1
    Dernier message: 09/01/2008, 15h21
  4. [VBA-E] Copie de Feuille sans liaison
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/04/2006, 17h35
  5. [VBA] Copie d'une feuille (avec graphique)
    Par ed_dexia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2005, 09h56

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