Bonjour à tous.
Je suis nouveau sur le forum et un peu débutant en vba, mais j'ai déjà trouvé plein d'aide sur ce forum.
Mais maintenant, je me retrouve confronté à un problème, qui ne paraît pas être insurmontable, mais je tourne en rond et je n'y arrive pas. J'aurais besoin de votre aide s'il vous plait.
Voici mon souci.
J'ai créé un fichier avec lequel je peux créer des commandes, que je mets à chaque fois sur des nouvelles feuilles. ça, pas de soucis ça marche.
Sur ces feuilles, pour plus de facilité (mais il doit y avoir un autre moyen) j'ai créé 3 listes déroulantes pour le jour (F1), le mois (F2) et l'année (F3).
Je peux synthétiser toutes ces commandes les unes après les autres sur une feuille que j'ai nommée IMPRIMER COMMANDES JOUR; ça aussi ça marche, mais je voudrais que la synthèse se fasse en fonction des critères de jour mois année que je sélectionne en activant un userform, qui me renvoi les valeurs das les cellules i1 j1 et k1 de ma feuille de synthèse.
C'est là que mon programme bloque, et surtout que je n'arrive pas à le programmer correctement.Je vous joins le code de ma macro pour voir si quelqu'un peut m'aider.
Merci d'(avance

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
Sub imprimercommandes()
Dim i As Integer
Application.ScreenUpdating = False
Worksheets("IMPRIMER COMMANDES JOUR").Select
Rows("1:1000000").Select
Selection.Clear
UserForm1.Show
    lg_recap = 1
For i = 10 To Sheets.Count
 Sheets(i).Select
    If Sheets(i).Name <> "IMPRIMER COMMANDES JOUR" Then
            For lg_facture = 1 To 100
                ' on cherche une quantité positive
                If IsNumeric(Sheets(i).Cells(lg_facture, 19)) Then  ' > 0 Then
C EST ICI QUE CA NE MARCHE PAS
                    If Worksheets(i).Cells(6, 1).Value = Worksheets("IMPRIMER COMMANDES JOUR").Cells(9, 1).Value And Worksheets(i).Cells(6, 2).Value = Worksheets("IMPRIMER COMMANDES JOUR").Cells(10, 1).Value And Worksheets(i).Cells(6, 3).Value = Worksheets("IMPRIMER COMMANDES JOUR").Cells(11, 1).Value Then
 
JUSQU ICI                   
 
 
                    lg_recap = lg_recap + 1
                    Sheets(i).Range("A" & lg_facture & ":T" & lg_facture).Copy
                    Sheets("IMPRIMER COMMANDES JOUR").Cells(lg_recap, 1).PasteSpecial xlPasteValues
                    Sheets("IMPRIMER COMMANDES JOUR").Cells(lg_recap, 1).PasteSpecial xlPasteFormats
                    End If
                End If
            Next lg_facture
        End If
 
    Next i
    Worksheets("IMPRIMER COMMANDES JOUR").Select
   Range("A:C,E:E,L:T").Select
   Range("L1").Activate
    Selection.EntireColumn.Hidden = True
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 4
    Columns("D:D").EntireColumn.AutoFit
    Columns("H:H").EntireColumn.AutoFit
    Columns("G:G").ColumnWidth = 3.14
    'ActiveWindow.SelectedSheets.PrintPreview
    'ActiveWindow.SmallScroll Down:=-21
Application.ScreenUpdating = True
End Sub