probleme de Boucle avec une macro!!!!

probleme de Boucle avec une macro!!!! - VB/VBA/VBS - Programmation

Marsh Posté le 12-08-2005 à 11:41:18    

Bonjour a tous
Voila mon probleme j ai une feuille excel avec un tableau qui se presente sous cette forme:
DATE POURCENT NOM
01/02/2005 45 serveur3
02/02/2005 56 serveur1
01/02/2005 57 serveur2
01/05/2005 12 serveur2
01/03/2005 9 serveur1
01/06/2005 78 serveur2
01/02/2005 45 serveur3
07/02/2005 45 serveur1
23/02/2005 78 serveur2
04/12/2005 7 serveur3
01/06/2005 57 serveur2
21/05/2005 21 serveur3
11/03/2005 9 serveur1
24/08/2005 40 serveur2
 
J ai donc crée une macro me permettant de trié Mon tableau ci dessus en fonction des Nom de serveur et de la date puis elle me trace un graphique représentant le POURCENT en Fonction de la date pour chaque serveur.
Seulement mon probleme est que ca le fait uniquement pour le premier serveur de la liste mais pas pour les autres.
Alors est ce que quelqu un pourrai me dire comment faire boucler ma macro pour que ca le fasse pour tous les nom de serveur .
Voici le code de ma macro.
Code:
 
Sub Macro3()
'
' Macro3 Macro
 
    Selection.Sort Key1:=Range("C2" ), Order1:=xlAscending, Key2:=Range("A2" ) _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
    Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("Feuil1" ).Range("B2:B6" ), PlotBy:= _
        xlColumns
    ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R2C1:R6C1"
    ActiveChart.SeriesCollection(1).Name = "=Feuil1!R2C3"
    ActiveChart.Location Where:=xlLocationAsNewSheet
    ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
    Sheets("Feuil1" ).Select
End Sub

 
 
merci davance a tous

Reply

Marsh Posté le 12-08-2005 à 11:41:18   

Reply

Marsh Posté le 12-08-2005 à 19:59:15    

Franchement, l'orange sur fond gris ne donne même pas envie de lire!
 
Il y a des balises [code] ou [fixed] pour le code. Inutile de jouer avec les couleurs.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 21-08-2005 à 13:05:58    

lut, tu peux ajouter des booléens pour tous tes serveurs en début de traitement, tu prend une variable temp qui récupere le nom de ton serveur, test sur les valeurs et  boucle while, ce qui donne grosso merdo :

Code :
  1. dim temp as String
  2. temp = ""
  3. boucle while if range("d"&i).value=true else
  4. temp = range("b"&i).value
  5. range("d"&i).value = false
  6. 'test ensuite sur temp et colonne B
  7. 'traitement
  8. end while testOK
  9. sub testOK()
  10. dim i as Integer
  11. for i = 0 to ton_nobre_de_serveur
  12. if range("d"&i).value = false else
  13. valeurrecipient=false
  14. next i
  15. end sub


bidouille comme ca, à moins que tu aies déjà résolu le pb sans nous l'indiquer...

Reply

Marsh Posté le 21-08-2005 à 13:17:35    

pas mal. pour les test de booleen, pas besoin de mettre True ou False
(If a = True Then ...   >> If a then ...)


---------------
now : do nothing
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed