Bonjour, j'ai conçu un programme qui me permettrait de demander à l'utilisateur d'entrer un nombre entier (une valeur de chiffre d'affaire) et de choisir si je dois prendre les chiffres d'affaire inférieures ou supérieures au chiffre d'affaire demandé par l'utilisateur mais je dois également mettre les données correspondant aux chiffres d'affaire sur la feuille 2.
Le but serait à partir d'une feuille Excel de mettre toutes les données correspondant au chiffre d'affaire supérieures ou inférieures au chiffre d'affaire entré par l'utilisateur sur la deuxième feuille du classeur.
L'interface graphique n'est pas très compliqué :
- Un TextBox (Tn1)
- Deux Radiobutton (Supérieur & Inférieur.)
Mais il y a un hic, le programme se lance mais n'écris pas sur la feuille excel. Il n'y a aucune erreur. Il y a cependant des warnings (Résolution à liaison tardive)
Voici donc mon code :
Sub Button1Click(sender As Object, e As EventArgs)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim o As Integer
Dim n As string
Dim cpt As Integer
Dim app As Object
Dim f As Object
Dim cl As Object
Dim f2 As Object
n = Tn1.Text
cpt = 0
i=0
j=0
k=0
l=0
m=0
o=0
app=Createobject("excel.application")
app.visible=true
app.ScreenUpdating=true
app.workbooks.Open("P:\e_12_prcf_26\Algorithme\alg
o.xlsx")
cl=app.workbooks.item(1)
f=app.worksheets.item(1)
f2=app.Worksheets.item(2)
If radiobutton1.Checked=True Then
Do
If (n < f.Cells(j, 5).Value) Then
f2.Cells(j, 1).Value=f.Cells(j, 1).Value
f2.Cells(j, 2).Value=f.Cells(j, 2).Value
f2.Cells(j, 3).Value=f.Cells(j, 3).Value
f2.Cells(j, 4).Value=f.Cells(j, 4).Value
f2.Cells(j, 5).Value=f.Cells(j, 5).Value
End If
cpt=cpt+1
j=j+1
Loop Until f.Cells(j, 5).Value Is Nothing
End if
If radiobutton2.Checked=True Then
Do
If (n > f.Cells(k,5).Value) Then
f2.Cells(k,1).Value=f.Cells(k,1).Value
f2.Cells(k,2).Value=f.Cells(k,2).Value
f2.Cells(k,3).Value=f.Cells(k,3).Value
f2.Cells(k,4).Value=f.Cells(k,4).Value
f2.Cells(k,5).Value=f.Cells(k,5).Value
k=k+1
End If
loop until f.Cells(k,5).Value Is Nothing
End If
If f2.Cells(l, 5).Value<0 Then
Do
f2.cells(l, 5).value.interior.colorindex=3
Loop until f.Cells(m, 5).Value Is nothing
End If
If f2.Cells(l, 5).Value>0 Then
Do
f2.cells(l, 5).value.interior.colorindex=3
Loop until f.Cells(l, 5).Value Is nothing
End If
f2.Cells(cpt + 1, 1).Value = cpt
cl.saveas("P:\e_12_prcf_26\Algorithme\algo2.xlsx")
app.screenUpdating=True
app.quit
f=Nothing
cl=Nothing
app=Nothing
End Sub
J'implore votre aide pour me dire ce qui ne va pas sur mon programme, j'ai essayer maintes et maintes possibilités mais cela ne fonctionne pas.
Le fichier de données se compose comme suit
Colonne 1 : Année
Colonne 2 : Mois
Colonne 3 : Code Client
Colonne 4 : Nom de l'entreprise
Colonne 5 : Chiffre d'affaire
De plus, je souhaite coloré sur la deuxième feuille les valeurs négatives en rouge et les positives en vert.
En vous remerciant d'avance. 