Bonjour,

Je suis actuellement en train de développer 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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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\algo.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.

Cordialement,
Linker53