Bonjour,

Mon code permet de rapatrier des valeurs d'une feuille voisine dans la feuille active.
Lorsque j'entre la référence article dans ma feuille, la macro complète les colonnes "Désignation" , "matière"...
Le code marche bien quand j'entre une seule référence à la fois (soit en tapant soit en (Ctrl+V).
Problème, si je fais un (Ctrl+V) avec plusieurs réf ça plante.
J'ai ajouté la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If Target.Count > 1 Then Exit Sub
mais ce n'est que contourner le problème car plus de plantage mais plus non plus de remplissage.

Y a-t-il une solution?

Merci

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
Private Sub Worksheet_Change(ByVal Target As Range)
 
'+++++++++++++++++++++++++++++++++++++++++++++++Récupération désignation matière...+++++++++++++++++++++++++++++++++
 
    Dim Tabl As Variant
 
 
 
    If Not Intersect(Target, [B20:B200]) Is Nothing Then
 
 
 
        Tabl = [ListeDesArticlesAImporter].Value2 '"Value2" recopie toutes les décimales
        For J = 1 To UBound(Tabl)
        If Target.Count > 1 Then Exit Sub 'J'aimerai me dispenser de cette ligne
 
            If Tabl(J, 2) = Target.Value2 Then ' And Tabl(i, 7) = [K11] Then 'Choix du fournisseur
                Application.EnableEvents = False
                Target.Offset(, 1) = Tabl(J, 3) 'colonne 1 (Désignation) par rapport à B = colonne 3 du tableau
                Target.Offset(, 2) = Tabl(J, 5) 'colonne 2 (Matière)
               Target.Offset(, 3) = Tabl(J, 6) 'colonne 3 (Traitement finition)
                Target.Offset(, 6) = Tabl(J, 8) 'colonne 6 (PU € HT)
                Application.EnableEvents = True
            End If
 
        Next J
 
    End If