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 :

Erreur 1004: Impossible de définir la propriété


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par défaut Erreur 1004: Impossible de définir la propriété
    Bonjour à tous,
    Je poste finalement mon premier message n'ayant pas réussi à trouver une solution à mon problème sur les différents forums

    Je travaille actuellement à partir de fichiers VBA qui ont été faits par un ancien stagiaire.
    Je rencontre un problème à un endroit dans le code (comme vous pouvez vous en douter) lorsque je dois créer un nouveau graphique et lui attribué ses différentes propriétées.
    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
    Charts.Add
        ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
        ActiveChart.Location Where:=xlLocationAsObject, Name:=feuille
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "Courbe conventionnelle zoom"
            .Axes(xlCategory, xlPrimary).HasTitle = True
            .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Allongement, %"
            .Axes(xlCategory).MaximumScale = 0.014
            .Axes(xlCategory).MinimumScale = 0
            .Axes(xlValue, xlPrimary).HasTitle = True
            .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Contrainte conventionnelle, MPa"
            .SeriesCollection(1).XValues = "='" + ActiveSheet.Name + "'!R" & K & "C" & m + manque_cell & ":R" & L & "C" & m + manque_cell & ""
            .SeriesCollection(1).Values = "='" + ActiveSheet.Name + "'!R" & K & "C" & m + manque_cell + 1 & ":R" & L & "C" & m + manque_cell + 1 & ""
            .SeriesCollection.NewSeries
            .SeriesCollection.NewSeries
            .SeriesCollection(2).XValues = "='" + ActiveSheet.Name + "'!R3C6:R4C6"
            .SeriesCollection(2).Values = "='" + ActiveSheet.Name + "'!R3C7:R4C7"
            .SeriesCollection(3).XValues = "='" + ActiveSheet.Name + "'!R6C6:R7C6"
            .SeriesCollection(3).Values = "='" + ActiveSheet.Name + "'!R3C7:R4C7"
    Cette ligne en rouge me donne l'erreur 1004: Impossible de définir la propriété Values de la classe Series.
    Le code en lui même est beaucoup plus grand si vous pensez que l'erreur provient d'ailleurs je le rajouterais mais j'ai essayé plusieurs solutions sans succès..

    Merci d'avance,

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaies ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        With .SeriesCollection.NeActivesheeteries
            .XValues = "='" & Activesheet.Name & "'!" & Activesheet.Cells(m + Manque_Cell, K).Address & ":" & Activesheet.Cells(m + Manque_Cell, L).Address
            .Values = "='" & Activesheet.Name & "'!" & Activesheet.Cells(m + Manque_Cell + 1, K).Address & ":" & Activesheet.Cells(m + Manque_Cell + 1, L).Address
        End With
        With .SeriesCollection.NeActivesheeteries
            .XValues = "='" & Activesheet.Name & "'!F3:F4"
            .Values = "='" & Activesheet.Name & "'!G3:G4"
        End With
        With .SeriesCollection.NeActivesheeteries
            .XValues = "='" & Activesheet.Name & "'!F6:F7"
            .Values = "='" & Activesheet.Name & "'!G3:G4"
        End With

  3. #3
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par défaut
    Bonjour,

    Merci pour ta réponse.
    J'ai essayé ton code mais lorsque je compile le programme il y a une erreur à la première ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With .SeriesCollection.NeActivesheeteries
    Un message apparaît: Erreur de compilation Référence incorrecte ou non qualifiée.

    L'aide d'excel me dit:
    Un identificateur commençant par un point n'est valide qu'au sein d'un bloc With.
    Pourtant je suis bien dans un bloc with..

    Cordialement

    D'ailleurs le code que tu as écris vient en remplacement de la ligne en rouge de mon premier message ?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Vraiment désolé pour ce désagrément que j'avais causé hâtivement

    Je voulais dire ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With .SeriesCollection.NewSeries
        .XValues = "='" & ActiveSheet.Name & "'!" & ActiveSheet.Cells(m + Manque_Cell, K).Address & ":" & ActiveSheet.Cells(m + Manque_Cell, L).Address
        .Values = "='" & ActiveSheet.Name & "'!" & ActiveSheet.Cells(m + Manque_Cell + 1, K).Address & ":" & ActiveSheet.Cells(m + Manque_Cell + 1, L).Address
    End With
    With .SeriesCollection.NewSeries
        .XValues = "='" & ActiveSheet.Name & "'!F3:F4"
        .Values = "='" & ActiveSheet.Name & "'!G3:G4"
    End With
    With .SeriesCollection.NewSeries
        .XValues = "='" & ActiveSheet.Name & "'!F6:F7"
        .Values = "='" & ActiveSheet.Name & "'!G3:G4"
    End With
    PS. en fait au lieu de Activesheet, j'avais utilisé une variable Wprksheet: Ws. Mais pour ne pas t'embrouiller j'avais fais Remplacer Ws par ActiveSheet et de ce fait NewSeries est devenue le charabia cause de l'erreur. Encore je m'en excuse de ce manque d'attention

    Code en entier. bien sur les variables sont déclarés et affectés de leur valeurs
    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
    23
    24
    25
    26
    27
    28
    29
    30
    Dim Ws As Worksheet
     
    Set Ws = ActiveSheet
    With ThisWorkbook.Charts.Add
        .ChartArea.ClearContents
        .ChartType = xlXYScatterSmoothNoMarkers
        .Name = Feuille
        .HasTitle = True
        .ChartTitle.Characters.Text = "Courbe conventionnelle zoom"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Allongement, %"
        .Axes(xlCategory).MaximumScale = 0.014
        .Axes(xlCategory).MinimumScale = 0
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Contrainte conventionnelle, MPa"
     
        With .SeriesCollection.NewSeries
            .XValues = "='" & Ws.Name & "'!" & Ws.Cells(m + Manque_Cell, K).Address & ":" & Ws.Cells(m + Manque_Cell, L).Address
            .Values = "='" & Ws.Name & "'!" & Ws.Cells(m + Manque_Cell + 1, K).Address & ":" & Ws.Cells(m + Manque_Cell + 1, L).Address
        End With
        With .SeriesCollection.NewSeries
            .XValues = "='" & Ws.Name & "'!F3:F4"
            .Values = "='" & Ws.Name & "'!G3:G4"
        End With
        With .SeriesCollection.NewSeries
            .XValues = "='" & Ws.Name & "'!F6:F7"
            .Values = "='" & Ws.Name & "'!G3:G4"
        End With
    End With
    Set Ws = Nothing

  5. #5
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par défaut
    Merci beaucoup Mercatog c'est beaucoup plus clair.
    Cependant une erreur persiste !
    Lorsque je compile mon programme la ligne: me donne l'erreur 1004: Impossible de renommer une feuille comme une autre feuille, une bibliothèque d'objets référencée ou un classeur référencé par visual basic.
    Je ne comprend vu que la je cherche à attribuer un nom à un graphique et pas à une feuille
    J'ai essayer de remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Name = ActiveWorksheet
    mais malheureusement sans succès..
    Merci pour tes précieuses réponses !
    Cordialement,

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    effectivement tu ne peux pas renommer 2 feuilles avec le même nom. Il faudra au préalable supprimer l'ancienne feuille et insérer la nouvelle

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2015, 16h54
  2. Réponses: 3
    Dernier message: 27/08/2014, 18h04
  3. Réponses: 2
    Dernier message: 17/07/2014, 10h52
  4. [XL-2007] Erreur 1004: Impossible de lire la propriété Vlookup
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/09/2012, 17h46
  5. Réponses: 16
    Dernier message: 13/03/2008, 21h51

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