probleme de feuille résolu

probleme de feuille résolu - VB/VBA/VBS - Programmation

Marsh Posté le 04-05-2006 à 13:59:26    

voici ma procedure :  
 
Private Sub OptionButton1_Click()
Dim cpt As Byte
Dim tmp As Long
cpt = 3
tmp = 0
With Worksheets("enr_incidents" )
Range("P3" ).Select
    Do
        Range("T" & cpt).Value = Range("P" & cpt).Value + Range("Q" & cpt).Value
        cpt = cpt + 1
        Range("P" & cpt).Select
    Loop Until IsEmpty(ActiveCell)
End With
cpt = 3
If TextBox1.Value = "" Then
    MsgBox "Veuillez saisir le dénominateur"
End If
    Do
        With Worksheets("enr_incidents" )
        Range("T" & cpt).Select
        tmp = Range("T" & cpt).Value * 1000000 / TextBox1.Value
        Range("Y" & cpt).Value = tmp
        End With
        With Worksheets("data_graph" )
        Range("A" & cpt).Value = tmp
        End With
        cpt = cpt + 1
        With Worksheets("enr_incidents" )
        Range("T" & cpt).Select
        End With
    Loop Until IsEmpty(ActiveCell)
 
End Sub
 
mon probleme c que mes valeurs sont bien recopié dans la colonne Y de ma feuille enr_incidents mais rien n'est copié dans ma colonne A de ma feuille data_graph
pourquoi et comment y remedier ??


Message édité par GillooZ le 09-05-2006 à 12:19:01
Reply

Marsh Posté le 04-05-2006 à 13:59:26   

Reply

Marsh Posté le 04-05-2006 à 15:11:03    

Salut gillooz,
Voici un petit coup de main sur ta macro.
Elle devrait rouler ainsi, mais l'ayant corrigée à main levée... (Tu seras indulgent ;))

Code :
  1. Private Sub OptionButton1_Click()
  2. Dim cpt As Byte
  3. Dim tmp As Long
  4. Dim Deno as Long
  5. If TextBox1.Value = "" Then
  6.     MsgBox "Veuillez saisir le dénominateur"
  7.     Exit Sub  'si tu mances avec vide tu vas avoir des erreur de calcul
  8. End If
  9. Deno= TextBox1.Value
  10. cpt = 3
  11. With Worksheets("enr_incidents" ) 'with est là pour raccourcir l'appel il faut placer un "." pour déclencher l'appel
  12.     Do
  13.         .Range("T" & cpt).Value = .Range("P" & cpt).Value + .Range("Q" & cpt).Value
  14.         cpt = cpt + 1
  15.     Loop Until IsEmpty(.Range("P" & cpt))
  16. End With
  17. tmp = 0
  18. cpt = 3
  19.    Do
  20.         With Worksheets("enr_incidents" )
  21.             tmp = .Range("T" & cpt).Value * 1000000 / Deno
  22.             .Range("Y" & cpt).Value = tmp
  23.         End With
  24.         With Worksheets("data_graph" )
  25.             .Range("A" & cpt).Value = tmp
  26.         End With
  27.         cpt = cpt + 1
  28.     Loop Until IsEmpty(Worksheets("enr_incidents" ).Range("T" & cpt))
  29. End Sub

Essayes de placer tes bouts de code entre les balises [c pp] et [/c pp] (sans les espaces, ce sera un peu plus visible.
Ensuite, en VBA tu n'as pas besoin de selectioner les cellules pour agir dessus. Et pour tes with et end with, n'oublies pas de le appeller avec le "."
@+

Reply

Marsh Posté le 04-05-2006 à 15:50:33    

YES CIMER tu m'as bien aidé
merci bcp !!!
 
 
et vive le forum www.hardware.fr, sans vous je finirai mon taf en 3 fois plus de tps et encore ^^^

Reply

Marsh Posté le 04-05-2006 à 15:53:09    

Attend de recevoir la facture avant de dire merci :p

Reply

Marsh Posté le 04-05-2006 à 15:57:12    

jpaye www.hardware.fr en newz np je lis ca tte la journée ^^

Reply

Marsh Posté le 04-05-2006 à 16:31:57    

lol faut bien s'occuper ;)
Pour payement un petit résolu sur le titre de ton post ;) ce sera déjà ça de pris ;)
 
@+

Reply

Marsh Posté le 05-05-2006 à 09:24:32    

comment fait on pour mettre ca en resolu ?

Reply

Marsh Posté le 05-05-2006 à 15:37:09    

sur ton premier post, clique sur l'icone qui ressemble à une feuille avec dessus une gomme au bout d'un crayon.
tu place dans ton titrez un résolu :)
@+

Reply

Sujets relatifs:

Leave a Replay

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