Bonjour ,
J'ai essayé de créer une application en visual basic pour excel 2007, qui aura pour objectif d'afficher une boite de dialogue qui demandera à l'utilisateur de saisir un choix d'affichage:

1- afficher uniquement les lignes contenant des dépassements de livraisons ( et ceux en comparant entre la colonne F et L ( toutes les deux contenant des dates ), Si la valeur de L(i) est nulle alors je comparre entre F(i) et la date actuelle. et si F(i)>= date actuelle , je dois ecrire à coté de la ligne alerte et l'afficher)
2- afficher uniquement les lignes contenant des dépassements de date de reception (meme procedure )
3- tout afficher

et voici le code que que j'avais écris:

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
Private Sub CommandButton1_Click()
End
End Sub
 
Private Sub CommandButton2_Click()
Dim numRows As Integer
While Not (oBook.ActiveSheet.Cells(numRows + 1, 1).Value Is MyNull)
numRows = numRows + 1
Wend
 
 
If option1.Caption = True Then
         For I = 6 To numRows
           VALEURa = Range("F" & I).Value
           VALEURb = Range("L" & I).Value
           If VALEURa = False Then
               If IsDate(VALEURb) & VALEURb >= Date Then
                       A = I
                       ActiveWindow.ScrollColumn = A
                       Range("A:A").Select
                       Selection.EntireRow.Hidden = False
                        For j = 6 To numRows
                           Do While j <> A
                           Range("j:j").Select
                           Selection.EntiereRow.Hidden = True
                           Loop
                        Next j
 
               End If
           End If
         Next I
End If
 
 
If option2.Caption = True Then
         For I = 6 To numRows
           VALEURa = Range("R" & I).Value
           VALEURb = Range("T" & I).Value
           If VALEURa = False Then
 
               If VALEURb > Date Then
                        A = I
                        ActiveWindow.ScrollColumn = A
                       Range("A:A").Select
                       Selection.EntireRow.Hidden = False
                        For j = 6 To numRows
                           Do While j = A
                            Range("j:j").Select
                           Selection.EntiereRow.Hidden = True
 
                           Loop
                        Next j
 
               End If
           End If
         Next I
 
End If
 
 
If option3.Caption = True Then
 
      For c = 1 To numRows
        ActiveCell.Offset.Union(Range( _
            "c:c" _
            ), Range( _
            "c:c" _
            )).Select
    ActiveCell.Activate
    Selection.EntireRow.Hidden = False
    Next c
 
End If
 
End Sub