Bonjour à tou·te·s,

J'ai un tableau qui contient la liste de toutes les factures dans tableau "Liste_Factures". Le numéro de client est dans la première colonne. Je veux saisir le numéro de mon client dans un Userform, et que mon programme génère un fichier (à partir d'un modèle nommé "Factures"), dans lequel il copie toutes les données de toutes les factures concernant mon client. Voici donc mon code, pour tester l'extraction du client numéro 0123456789 :

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
Dim factures1 As Workbook
    Dim invoice As Range
 
    Set factures1 = Workbooks.Add("C:\Users\MonUser\Documents\Modèles Office personnalisés\Factures.xltx")
 
    ThisWorkbook.Activate
    Application.ScreenUpdating = False
    For Each invoice In Range("Liste_Factures").Rows
 
        If invoice.Range("A1") = "0123456789" Then
            invoice.Copy
            Windows(factures1.Name).Activate
            Range("Liste_Factures").ListObject.ListRows.Add
            Range("Liste_Factures").End(xlDown).PasteSpecial xlPasteValues
            ThisWorkbook.Activate
        End If
    Next
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
 
    Filter_Form.Hide
Non seulement ce code ne fonctionne pas, mais en plus, ayant testé la boucle avec un code qui marche (collage dans la même ligne du tableau cible), j'ai pu constater que l'instruction Application.ScreenUpDating = False ne semble pas produire son effet.

Le problème semble donc venir de la méthode End(xlDown), mais je n'en suis pas certain. Je suis un peu perdu.
Merci par avance de votre aide.

Cordialement,