Se connecter avec
S'enregistrer | Connectez-vous

excel: pb de débutant

Dernière réponse : dans Programmation

Bonjour,
je suis débutant dans les macros d'excel et je rencontre un petit problème:

J'ai un tableau et à partir de celui-ci je souhaite obtenir une courbe par ligne.

J'ai donc essayer ceci qui ne fonctionne pas:

  1. Sub Makro1()
  2. '
  3. ' Makro1 Makro
  4. ' Makro am 12.07.2007 von LFU-Prakt21 aufgezeichnet
  5. '
  6.  
  7. '
  8. Dim i
  9. For i = 1 To 54
  10. Rows("i:i").Select
  11. Charts.Add
  12. ActiveChart.ChartType = xlLineMarkers
  13. ActiveChart.SetSourceData Source:=Sheets("2005").Range("Ai:CTi"), PlotBy:= _
  14. xlRows
  15. ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Diagrammi"
  16. ActiveChart.HasLegend = False
  17. Sheets("2005").Select
  18. Next i
  19. End Sub


Quelqu'un pourrait-il me renseigner?

Merci!

Autres pages sur : excel debutant

Lassé par la pub ? Créez un compte
Expert Programmation

Rows("i:i")

Mais non !

Si i = 3, "i:i" est égale à ... "i:i" [:spamafote]
Si pour i = 3 tu veux obtenir "3:3", il faut l'écrire comme ça :
i & ":" & i


Pareil pour tout le reste du programme ;) 
Enjoy!

Citation :
Essaye si tu veux, moi je voudrais que tu ais compris ;) 


Moi aussi j'aimerais bien... On a essayé de m'expliquer mais personne ne parle francais ici malheureusement.

Par contre ca ne veut toujours pas fonctionner...

  1. Sub Makro1()
  2. '
  3. ' Makro1 Makro
  4. ' Makro am 12.07.2007 von LFU-Prakt21 aufgezeichnet
  5. '
  6.  
  7. '
  8. Dim i
  9. For i = 1 To 54
  10. Rows(i & ":" & i).Select
  11. Charts.Add
  12. ActiveChart.ChartType = xlLineMarkers
  13. ActiveChart.SetSourceData Source:=Sheets("2005").Range(Ai & ":" & CTi), PlotBy:= _
  14. xlRows
  15. ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Diagrammi"
  16. ActiveChart.HasLegend = False
  17. Sheets("2005").Select
  18. Next i
  19. End Sub
Expert Programmation

Bon. A quoi te sert les SELECT ligne 10 et 17 ?
(Réponse: à rien :whistle:  )

FYI, Range("A3") peut s'écrire Cells(3, 1).
Range("A2:B4") peut s'écrire Range(Range("A2"), Range("B4")).
Donc Range("A2:B4") peut s'écrire Range(Cells(2, 1), Cells(4, 2)).

Allez, cadeau :
  1. Sub Macro()
  2. ' Macro1 - zeb von PPC
  3.  
  4. Dim i as Long
  5. Dim diagramm As Chart
  6.  
  7. For i = 1 To 54
  8. Set diagramm = Charts.Add
  9. diagramm.ChartType = xlLineMarkers
  10. diagramm.SetSourceData _
  11. PlotBy:=xlRows, _
  12. Source:=Sheets("2005").Range( _
  13. Sheets("2005").Cells(i, 1), _
  14. Sheets("2005").Cells(i, 98))
  15. diagramm.Location Where:=xlLocationAsNewSheet, Name:="Diagramm" & i
  16. diagramm.HasLegend = False
  17. Set diagramm = Nothing
  18. Next i
  19.  
  20. End Sub
Expert Programmation

Ose me dire que tu as fait tourner deux fois ta macro et que tu essaies d'avoir une première fois un diagramm1 et un diagramm2 et une seconde fois un diagramm1 et un diagramm2.

Tu connais la procédure "faire des bébés". Ben quand tes parents l'ont implémentée, ils ont fait ça vers la fin :
  1. ...
  2. clope.fumer
  3. gosse.prenom = "Jérome"


Et pour ton frère, pareil, à part qu'ils ont été malins, ils ont modifié un tout petit peu l'algorithme :
  1. ...
  2. clope.fumer
  3. gosse.prenom = "Ptit frère de Jérome"


...
(Excuse-moi, je suis en we ce soir, alors j'ai l'impression qu'on est Vendredi :D  )
Lassé par la pub ? Créez un compte