• Initiateur de la discussion Initiateur de la discussion dede039
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dede039

XLDnaute Occasionnel
bonjour a tous

je voudrai modifier cette macro mais je c pas comment
donc j'ai besoin de votre aide
je crée un graph. dans un userform sur les cellule b2 a b12 (se dont des date)
or je voudrai choisie une plage de date
Mais comment faire j'ai besoin de votre savoir
Code:
Private Sub UserForm_Initialize()
 Dim Annees(), CA(), I As Long
 Dim Cht As WCChart, C
  Me.Caption = Titre
 
 CA = Application.Transpose([B2:B12])
  'une autre façon de remplir un tableau
  ReDim Annees(I)
  For I = 2 To [A65536].End(xlUp).Row
    Annees(I - 2) = Range("A" & I)
    ReDim Preserve Annees(I - 1)
  Next I

Set Cht = ChartSpace1.Charts.Add
 'Trés important de définir un constants, cf l'aide VBA

Set C = ChartSpace1.Constants
 With ChartSpace1
  .HasChartSpaceTitle = True
  .ChartSpaceTitle.Caption = TitreGraph _
          & " de " & Annees(0) & " à " & Annees(UBound(Annees) - 1)
  .HasChartSpaceLegend = True
  .ChartSpaceLegend.Position = C.chLegendPositionBottom
  .ControlTipText = Tip
 End With
 With Cht
  .Type = C.chChartTypeSmoothLineMarkers
  .SetData C.chDimSeriesNames, C.chDataLiteral, TitreLegende
  .SetData C.chDimCategories, C.chDataLiteral, Annees
  .SeriesCollection(0).SetData C.chDimValues, C.chDataLiteral, CA
 End With
End Sub
 

Pièces jointes

Re : aide sur macro

Bonjour Dede039 🙂,
Difficile de garantir les réponses car tu utilises un composant Web que je n'ai pas sur ma machine, mais en gros
Code:
    CA = Application.Transpose([[COLOR=red][B]B2:B12[/B][/COLOR]])
    LastRow = Application.Range("A" & [COLOR=red][B]Rows.Count).End(xlUp).Row[/B][/COLOR]
    For i = 2 To LastRow
        ReDim Preserve Annees(i - 2)
        Annees(i - 2) = Range("A" & i)
    Next i
ton CA est stocké en plage fixe, alors que les dates sont chargées en dynamique, ça, c'est pas bon...
Code:
Dim Plage As Range, Contrôle As Range, Cellule As Range
Set Plage = Selection
Set Contrôle = Intersect(Plage, Range("A:A"))
If Contrôle Is Nothing Then
MsgBox "Vous devez sélectionner une plage de dates !", vbCritical, "ATTENTION"
Unload Me
End If
If Contrôle.Address <> Plage.Address Then
MsgBox "Vous devez sélectionner une plage de dates !", vbCritical, "ATTENTION"
Unload Me
End If
I = 0
For Each Cellule In Plage
ReDim Preserve Annees(I)
ReDim Preserve CA(I)
Annees(I) = Cellule.Value
CA(I) = Cellule.Offset(0, 1).Value
I = I + 1
Next
te permettra de sélectionner une plage de date (même discontinue) en colonne A, et chargera tes 2 tableaux.
Bon dimanche 😎
 
Dernière édition:
Re : aide sur macro

bonjour JNP

merci pour ta réponse

cela marche bien
juste 2 petit chose
- je voudrai entre la plage de date dans 2 cellule comment fait (ex : f3 et g3)
- et ici ont prend le donne de la colonne "B" comment faire pour colonne "c" ou graph a 2 axe "d" et "e"
🙄🙄
 
Re : aide sur macro

Re 🙂,
juste 2 petit chose
- je voudrai entre la plage de date dans 2 cellule comment fait (ex : f3 et g3)
- et ici ont prend le donne de la colonne "B" comment faire pour colonne "c" ou graph a 2 axe "d" et "e"
ça change toutes les données du problème et n'a plus rien à voir avec ton exemple 😡...
F3-G3
Peut-être en changeant
Code:
Set Contrôle = Intersect(Plage, Range("3:3"))
2 axes
Peut-être avec un CA2()
Code:
For Each Cellule In Plage
ReDim Preserve Annees(I)
ReDim Preserve CA(I)
ReDim Preserve CA2(I)
Annees(I) = Cellule.Value
CA(I) = Cellule.Offset(0, 1).Value
CA2(I) = Cellule.Offset(0, 2).Value
I = I + 1
Next
Bon dimanche 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
829
M
  • Question Question
Réponses
7
Affichages
1 K
Mike March
M
T
Réponses
1
Affichages
1 K
titous68
T
N
Réponses
4
Affichages
829
N
E
Réponses
3
Affichages
2 K
R
Réponses
3
Affichages
1 K
RomainDumoulin
R
J
  • Question Question
Réponses
2
Affichages
13 K
Réponses
7
Affichages
2 K
Z
Réponses
3
Affichages
736
J
  • Question Question
Réponses
17
Affichages
3 K
Joe_cooker
J
Retour