Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 13h16   #1
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 246
Points : 83
Points : 83
Par défaut Supprimer un graphique s'il existe, sinon le créer

Bonjour,

En fouillant sur le forum j'ai trouvé ce code proposé par Mercatog :

Code :
1
2
3
4
5
6
7
8
9
Dim ws as worksheet
nom = ComboBox1.Value
for each ws in worksheets
  if ws.name=nom then
    ws.delete
    exit for
  end if
next ws
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = nom
Cependant je n'arrive pas à l'adapter à mon utilisation (suppression d'un graphique s'il existe sinon le créer)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim G1 As Chart f as workchart
    Dim ws1 As Worksheet
    Dim PlageDonnees1 As Range
    Dim PlageX1 As Range
    Dim PlageY1 As Range
    Dim MaSerie1 As Series
    Dim Compteur1 As Long
    Dim Col1 As Long
    Dim Lig1 As Long
    Dim ws As Worksheet
 
    For Each ws In worksheets
        If ws.Name = ("Graphique") Then
            ws.Delete
            Exit For
        End If
    Next ws
 
    Set G1 = ThisWorkbook.Charts.Add 'Ajout d'une feuille MonGraphe au classeur
        G1.Name = "Graphique"
        G1.ChartArea.Clear 'Effacement des données du graphe
        G1.ChartType = xlXYScatter 'Définition du type de graphique (nuage de points)
Merci pour votre aide
__________________
Bonne journée,

Cordialement,

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h18   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 035
Points : 4 035
Bonjour,

Je n'ai pas compris si ton graphique est sur une feuille de données ou sur une feuille de graphique.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 17h10   #3
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 246
Points : 83
Points : 83
Bonjour Daniel,

Mon graphique est sur une feuille de graphique
__________________
Bonne journée,

Cordialement,

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 17h29   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 035
Points : 4 035
Je n'ai touché qu'à la partie suppression :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sub test4()
    Dim G1 As Chart
    Dim ws1 As Worksheet
    Dim PlageDonnees1 As Range
    Dim PlageX1 As Range
    Dim PlageY1 As Range
    Dim MaSerie1 As Series
    Dim Compteur1 As Long
    Dim Col1 As Long
    Dim Lig1 As Long
    Dim f As Chart
 
    For Each f In Charts
        If f.Name = ("Graphique") Then
            Application.DisplayAlerts = False
            f.Delete
            Application.DisplayAlerts = True
            Exit For
        End If
    Next f
 
    Set G1 = ThisWorkbook.Charts.Add 'Ajout d'une feuille MonGraphe au classeur
        G1.Name = "Graphique"
        G1.ChartArea.Clear 'Effacement des données du graphe
        G1.ChartType = xlXYScatter 'Définition du type de graphique (nuage de points)
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/01/2012, 13h36   #5
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 246
Points : 83
Points : 83
Ça fonctionne très bien merci beaucoup Daniel.C
__________________
Bonne journée,

Cordialement,

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h29.


 
 
 
 
Partenaires

Hébergement Web