Selection de données sur graphique et feuille active

Bonjour,

Voila je débute totalement dans la programmation Excel et je suis un vrai bleu !!

J'aurais besoin de vos lumières sur un problème de feuille active (sur laquelle je travaille exactement) mais aussi sur la sélection de données pour tracer un graphique.

    
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=""LT1"""
    ActiveChart.SeriesCollection(1).XValues = Worksheets("Feuil13").Range("B2:B1692")
    ActiveChart.SeriesCollection(1).Values = Worksheets("Feuil13").Range("E2:E1692")
    ActiveWindow.SmallScroll Down:=-1735

Le code ci-dessus fonctionne. Voila ce que je voudrai résoudre comme problème (améliorer en quelque sorte :

Remplacer le nom de la feuille 13 "Feuil13", et qu'il y ai une commande de feuille active, me permettant ainsi d'utiliser cette macro sur n'importe qu'elle feuille de mon mon classeur.

 
    ActiveChart.SeriesCollection(1).XValues = Worksheets("Feuil13").Range("B2:B1692")
    ActiveChart.SeriesCollection(1).Values = Worksheets("Feuil13").Range("E2:E1692")

Mon autre problème provient de la sélection des données :

Ici le Range spécifie bien la plage à prendre -> B2:B1692, or je voudrais remplacer B1692 par une commande afin de sélectionner la dernière valeur de la colonne (car en fonction des feuilles le nombre de colonne peut varier)

    ActiveChart.SeriesCollection(1).XValues = Worksheets("Feuil13").Range("B2:B1692")
    ActiveChart.SeriesCollection(1).Values = Worksheets("Feuil13").Range("E2:E1692")

Voila donc mon gros gros problème...

J'espère avoir été assez clair, et vous remercie par avance pour vos réponses.

Très cordialement,

Fred

EDIT_1 :

J'ai résolu le problème de la dernière ligne

    ActiveChart.SeriesCollection(1).XValues = Worksheets("Feuil10").Range("B2", "B" & LigneFin)
    ActiveChart.SeriesCollection(1).Values = Worksheets("Feuil10").Range("E2", "E1" & LigneFin)

Cependant je reste bloqué sur le problème de la feuille active...

ActiveChart.SeriesCollection(1).XValues = Activesheet.Range("B2:B" &  Activesheet.range("B" &  Activesheet.rows.count).end(xlup).row)

Merci pour cette première réponde.

Je viens de tester la ligne de code mais le graphique obtenue n'est pas le bon

J'ai recopier t'as ligne pour les valeurs en Y en changeant mes variables en en enlevant le X bien entendu, mais je n'ai pas le résultat escompté.

Bonjour,

Pourquoi ne pas joindre un fichier avec sa procédure VBA?

Cdlt.

ActiveChart.SeriesCollection(1).XValues = Activesheet.Range("B2:B" &  Activesheet.range("B" &  Activesheet.rows.count).end(xlup).row
ActiveChart.SeriesCollection(1).Values = Activesheet.Range("E2:E" &  Activesheet.range("E" &  Activesheet.rows.count).end(xlup).row

Toi pas savoir recopier ? C'est exactement ce que tu as mis.

Sub traitementLT1()
'
' traitementLT1 Macro
'
    Columns("A:A").Delete Shift:=xlToLeft
    Columns("C:D").Delete Shift:=xlToLeft

    i = 2
        Do
            i = i + 1
                If Cells(i, 2) > -30 Then Exit Do
        Loop

    Range("B2", "B" & i & "").Delete Shift:=xlUp
    Range("A2", "A" & i & "").Delete Shift:=xlUp

    i = 2
        Do
            i = i + 1
                If Cells(i, 2) < -49 Then Exit Do
        Loop        

    Range("B2", "B" & i & "").Delete Shift:=xlUp
    Range("A2", "A" & i & "").Delete Shift:=xlUp

    Columns("B:C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B1").FormulaR1C1 = "Déplacement"
    Range("B2").FormulaR1C1 = "=R2C1-RC[-1]"

    Dim DerLigne As Integer
    DerLigne = Range("A1").End(xlDown).Row

    Range("B2").AutoFill Destination:=Range("B2", "B" & DerLigne)

    Range("E1").FormulaR1C1 = "Effort"
    Range("E2").FormulaR1C1 = "=-RC[-1]"
    Range("E2").AutoFill Destination:=Range("E2", "E" & DerLigne)

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=""LT1"""

    Dim LigneFin As Integer
    LigneFin = Range("A1").End(xlDown).Row

    ActiveChart.SeriesCollection(1).XValues = Worksheets("Feuil10").Range("B2", "B" & LigneFin)
    ActiveChart.SeriesCollection(1).Values = Worksheets("Feuil10").Range("E2", "E" & LigneFin)
    ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
    Selection.Caption = "Déplacement [mm]"
    ActiveChart.SetElement (msoElementPrimaryValueAxisTitleRotated)
    Selection.Caption = "Effort [N]"
     

parce que je n'y ai pas pensé simplement, voila donc de quoi remédier à cette erreur et peut être vous offrir un meilleur confort

La partie surlignée en verte est celle qui me pose problème. je voudrai que la sélection de données s'applique à n'importe quelle feuille du classeur.

Je peux également rajouté qu'après avoir essayer la ligne proposée par EngueEngue le graphique sélectionne toutes les colonnes et me trace ainsi 6 courbes au lieu d'une seule.

Je passe la main. Mes lignes correspondent à ce que tu as demandé, si tu as 6 lignes, elles viennent d'une autre partie de ton code.

A ce niveau d'information, impossible de t'aider.

Bon,

Premièrement merci Eugne, ta solution fonctionne. il y avait juste un caractère indésirable qui s'est glissé dans mon code (erreur de frappe et oui !)

Deuxièmement ce n'est pas la peine de prendre les gens de haut

Message par EngueEngue » il y a 17 minutes

Toi pas savoir recopier ? C'est exactement ce que tu as mis.

Bref,

A+

Je ne t'ai pas pris de haut... Mais quand on est sûr de ce qu'on fait et que quelqu'un te soutient le contraire, que faire ? Prochaine fois je te demanderai gentiment de vérifier que tu sais faire un copier coller

Ceci te conviendrait ?

Monseigneur,

Me feriez-vous l'honneur de bien faire CTRL+C et CTRL+V sur votre code?

Respectueuses salutations et éloquentes prosternations,

Votre humble serviteur


Je ne t'ai pas pris de haut... Mais quand on est sûr de ce qu'on fait et que quelqu'un te soutient le contraire, que faire ? Prochaine fois je te demanderai gentiment de vérifier que tu sais faire un copier coller

Ceci te conviendrait ?

Monseigneur,

Me feriez-vous l'honneur de bien faire CTRL+C et CTRL+V sur votre code?

Respectueuses salutations et éloquentes prosternations,

Votre humble serviteur

Rechercher des sujets similaires à "selection donnees graphique feuille active"