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 :
- Private Sub OptionButton1_Click()
- Dim cpt As Byte
- Dim tmp As Long
- Dim Deno as Long
- If TextBox1.Value = "" Then
- MsgBox "Veuillez saisir le dénominateur"
- Exit Sub 'si tu mances avec vide tu vas avoir des erreur de calcul
- End If
- Deno= TextBox1.Value
- cpt = 3
- With Worksheets("enr_incidents" ) 'with est là pour raccourcir l'appel il faut placer un "." pour déclencher l'appel
- Do
- .Range("T" & cpt).Value = .Range("P" & cpt).Value + .Range("Q" & cpt).Value
- cpt = cpt + 1
- Loop Until IsEmpty(.Range("P" & cpt))
- End With
- tmp = 0
- cpt = 3
- Do
- With Worksheets("enr_incidents" )
- tmp = .Range("T" & cpt).Value * 1000000 / Deno
- .Range("Y" & cpt).Value = tmp
- End With
- With Worksheets("data_graph" )
- .Range("A" & cpt).Value = tmp
- End With
- cpt = cpt + 1
- Loop Until IsEmpty(Worksheets("enr_incidents" ).Range("T" & cpt))
- 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 "."
@+