• Initiateur de la discussion Initiateur de la discussion Maohtsukai
  • 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 !

M

Maohtsukai

Guest
Bonjour tout le monde,

Je reviens vers vous avec un problème que j'avais eu il y a de ça quelques temps. Je suis en train de développer une macro qui me permettrait de rajouter une colonne qui prend en compte des chiffres du nouveau mois, et je cherche à rajouter à cette macro une fonction qui permettrait de caler les graphiques de mon classeur à ces ajouts.

Le problème, c'est que la macro qui cale les graphiques sur ces ajouts bug : elle marche pour le premier mois, mais dès que je réessaye de rajouter un nouveau mois, mon axe des abscisses change, et mon range aussi.

Je vous met la macro et en fichier joint un sample (parce que le fichier fait plus que la limite requise) :

Code:
Sub Macro1()
'
' Macro1 Macro
'
''
Dim adr As String
ligne = 1

Sheets("Sheet1").Select
With Sheets("Sheet1")

    For n = 3 To 256
        If .Cells(ligne, n) = "" Then
            .Columns(n).Insert
            .Cells(ligne, n - 1).Select
            Selection.AutoFill Destination:=Range(Cells(ligne, n), Cells(ligne, n - 1)), Type:=x1FillDefault
            .Range(Cells(ligne, n), Cells(ligne, n - 1)).Select
            
            ActiveWindow.Visible = False
            Windows("Book2.xls").Activate
            ActiveSheet.ChartObjects("Chart 4").Activate
            ActiveChart.ChartArea.Select
            adr = Union(Range("$A$1,$C$1:$Y$1,$A$3:$A$9"), Range(Sheets("Sheet1").Cells(3, 3), Sheets("Sheet1").Cells(9, n))).Address
            ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(adr), PlotBy:=xlRows
            ActiveChart.PlotArea.Select
            Exit For
        End If
    Next n
End With
End Sub
 

Pièces jointes

Re : Graphiques

Euh Désolé, dans la macro il faut changer le chart4 en chart 1 pour pouvoir voir quelque chose... et au delà de ça, l'axe des abscisses n'est bon que lorsqu'on efface le mois d'octobre et qu'on essaye de l'ajouter... à partir du moment ou on essaye d'ajouter un nouveau mois cela bug.

La macro :

Code:
Sub Macro1()
'
' Macro1 Macro
'
''
Dim adr As String
ligne = 1

Sheets("Sheet1").Select
With Sheets("Sheet1")

    For n = 3 To 256
        If .Cells(ligne, n) = "" Then
            .Columns(n).Insert
            .Cells(ligne, n - 1).Select
            Selection.AutoFill Destination:=Range(Cells(ligne, n), Cells(ligne, n - 1)), Type:=x1FillDefault
            .Range(Cells(ligne, n), Cells(ligne, n - 1)).Select
            ActiveWindow.Visible = False
            Windows("Book2.xls").Activate
            ActiveSheet.ChartObjects("Chart 1").Activate
            ActiveChart.ChartArea.Select
            adr = Union(Range("$A$1,$C$1:$Y$1,$A$3:$A$9"), Range(Sheets("Sheet1").Cells(3, 3), Sheets("Sheet1").Cells(9, n))).Address
            ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(adr), PlotBy:=xlRows
            ActiveChart.PlotArea.Select
            Exit For
        End If
    Next n
End With
End Sub
 
Re : Graphiques

Bonjour
Cela devrais fonctionner??
Code:
Sub Macro1()
'
' Macro1 Macro
'
''
Dim adr As String
ligne = 1
Sheets("Sheet1").Select
With Sheets("Sheet1")
    For n = 3 To 256
        If .Cells(ligne, n) = "" Then
            .Columns(n).Insert
            .Cells(ligne, n - 1).Select
            Selection.AutoFill Destination:=Range(Cells(ligne, n), Cells(ligne, n - 1)), Type:=x1FillDefault
            .Range(Cells(ligne, n), Cells(ligne, n - 1)).Select
            
            ActiveSheet.ChartObjects("graph4").Activate
            ActiveChart.ChartArea.Select
            adr = Union(Range("$A$1,$C$1:$Y$1,$A$3:$A$9"), Range(Sheets("Sheet1").Cells(3, 3), Sheets("Sheet1").Cells(9, n))).Address
            ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(adr), PlotBy:=xlRows
            ActiveChart.PlotArea.Select
            Exit For
        End If
    Next n
End With
End Sub
 
Re : Graphiques

Bonjour CB60,

Je n'ai pas compris ta question. Si tu me demandes si cela fonctionne, la réponse est non.
La fonction de la macro qui rajoute un mois fonctionne, la fonction de la macro qui ajoute le mois au graph fonctionne, mais le graph n'est pas correct car l'axe des abscisses change.

Voila voila
 
Re : Graphiques

Messieurs Dames du Forum Siouplait >_<

Je re up un peu sur ma discussion parce que je n'ai pas reçu beaucoup de réponses mais j'apprécierai grandement toute aide qui pourrait m'etre apportée 🙁

Bref merci à tous ceux qui s'arreteront par là et à bientot
 
Re : Graphiques

Merci Beaucoup CB60, ça correspond relativement à ce que je cherche, mais sachant que je l'applique sur plusieurs graphiques, il me faut changer un peu ce que tu as utilisé pour bloquer le Range du graphique.

Mais bon tu es un sauveur et je te remercie encore une fois grandement ^_^
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
326
Retour