Transposer une macro !!!

keskidi62

XLDnaute Nouveau
Bonjour

Sur le fichier joint en fin de message, j'ai une macro qui lance un userform qui permet de sélectionner certains paramètres (situé dans la colonne A) et d'en faire un graphique sur une période unique de 31 jours.
Hors j'ai besoin maintenant de faire ce même type d'opération sur une année complète, seulement je travaille sur excel 97 qui ne comporte que 256 colonnes.
La solution est donc de transposer le tableau pour mettre les date dans la colonne A et les paramètres sur une ligne, seulement voila, la macro ne peut plus fonctionner ... et je ne vois pas du tout comment faire pour "transposer" la macro.

Si quelqu'un a un petite idée, elle est la bienvenue.

Merci

Kes ;o)

.:: Partage-facile.com ::. La simplicité du partage de fichiers
 
Dernière édition:

keskidi62

XLDnaute Nouveau
Re : Transposer une macro !!!

Merci pour ta réponse rapide mais ... transposer la feuille1 ne me pose pas de problème, ce que je voudrai c'est intégrer à cette feuille4 un userform du même type que sur la feuille1 pour sélectionner les paramètres (sur la ligne1 et non plus sur la colonne A) et en faire un graphique sur une année, la feuille1 n'a plus lieu d'exister, ma base de donnée s'étalant sur une année.

Merci

Kes
 

Staple1600

XLDnaute Barbatruc
Re : Transposer une macro !!!

Re


Tu as regardé le code VBA contenu dans ton classeur?

Code:
Private Sub CommandButton2_Click()

Application.ScreenUpdating = False


Dim ligne1, ligne2, ligne3, ligne4, ligne5, ligne6, ligne7, ligne8 As Long
On Error Resume Next
ligne1 = Application.Match(Me.ComboBox1.Value, Range("A:A"), 0)
On Error Resume Next
ligne2 = Application.Match(Me.ComboBox2.Value, Range("A:A"), 0)
On Error Resume Next
ligne3 = Application.Match(Me.ComboBox3.Value, Range("A:A"), 0)
On Error Resume Next
ligne4 = Application.Match(Me.ComboBox4.Value, Range("A:A"), 0)
On Error Resume Next
ligne5 = Application.Match(Me.ComboBox5.Value, Range("A:A"), 0)
On Error Resume Next
ligne6 = Application.Match(Me.ComboBox6.Value, Range("A:A"), 0)
On Error Resume Next
ligne7 = Application.Match(Me.ComboBox7.Value, Range("A:A"), 0)
On Error Resume Next
ligne8 = Application.Match(Me.ComboBox8.Value, Range("A:A"), 0)

Range("A" & ligne1 & ":AF" & ligne1).Select
Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("feuil1").Range("A" & ligne1 & ":AF" & ligne1), PlotBy:=xlRows
    ActiveChart.SeriesCollection(1).XValues = "=feuil1!R9C2:R9C32"
    ActiveChart.Location where:=xlLocationAsNewSheet
    
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne2 & ":AF" & ligne2)
    
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne3 & ":AF" & ligne3)
        
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne4 & ":AF" & ligne4)
        
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne5 & ":AF" & ligne5)
        
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne6 & ":AF" & ligne6)
        
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne7 & ":AF" & ligne7)
        
ActiveChart.SeriesCollection.Add _
    Source:=Sheets("feuil1").Range("A" & ligne8 & ":AF" & ligne8)
        
Application.CutCopyMode = False

userform1.Hide

End Sub

Tu as essayé de créer un graphique avec ta nouvelle base de donnée annuelle tout en lançant l'enregisteur de macros. ?
 

keskidi62

XLDnaute Nouveau
Re : Transposer une macro !!!

Euh oui j'ai regardé la macro rapidement, j'ai vu qu'elle faisait toujours appel au paramètres situé sur la feuille1, hors celle ci n'a plus lieu d'exister.
mon fichier final doit comporter uniquement la feuille4.
Dans les combobox je dois pouvoir retrouver les paramètres, hors je ne sais pas comment dire aux combobox de chercher les paramètres dans la ligne1. c'est à dire RowSource = A1:DU1 mais c'est impossible !
Ma macro sur la feuille1 va chercher les paramètres dans la colonneA. (RowSource = A10:A133).
Je ne maitrise pas vraiment VBA, j'ai surement un peu de mal à expliquer exactement ce que je voudrai !!!
 
Dernière édition:

keskidi62

XLDnaute Nouveau
Re : Transposer une macro !!!

Oui je vois ce que tu veux dire, j'obtient ce code :

Range("A:A,E:E,I:I").Select
Range("I1").Activate
Charts.Add

etc....

mais ce que je veux faire c'est donner aux différents utilisateurs, la possibilité de choisir de un à huit paramètres de leur choix via les combobox. Le code que me donne l'enregistreur me donnera toujours le même graphique, avec les mêmes paramètres.
 
Dernière édition:

keskidi62

XLDnaute Nouveau
Re : Transposer une macro !!!

Oui les modification à apporter dans un premier temps sont au niveau des combobox, la source n'étant plus dans la colonneA mais dans la ligne1 ... et là je sèche ....

Merci pour ton aide

@ bientôt
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
248

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 018
dernier inscrit
brahimkhder