Listing reference facturier

bonjour, à tous j'ai un gros souci avec mon macro , je n'arrive pas à a faire qu'une copy d'une parti de la ligne .

quand je tape ma reference dans la colonne 1 cela me copy tres bien la ligne mais moi je voudrais copier qu'une parti de la ligne les ( premiere casses merci de m'aide

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Then

With Worksheets("LISTING").Range("a:a")

Set c = .Find(Target, LookIn:=xlValues)

If Not c Is Nothing Then

monr = "a" & c.Row

Application.EnableEvents = False

Worksheets("LISTING").Range(monr).EntireRow.Copy Destination:=Target

Application.EnableEvents = True

Else

MsgBox "inconnu"

End If

End With

End If

End Sub

Bonsoir, bienvenue sur le forum,

Dis-nous quelle partie que tu veux copier si possible avec un fichier à nous mettre à la disposition.

bonjour à tous et merci d'avoir été aussi réactif, je me présente patrick.

je vous est mis une légère copie de mon tableur pour pouvoir vous expliquez ce que je recherche depuis des jours .

la feuille 2 qui est ma liste de référence produit.

quand je tape dans la feuille 1 ma référence , je veux qu'il n'y est que les colonnes qui concerne le devis ou la facture qui apparaisse,

les 2 colonnes fournisseur il y en a pas besoin.

le macro que j'ai actuellement posté au dessus fonctionne très bien à part qui me fais la copie de toute la ligne avec les ref et prix fournisseur .

merci d'avance.

32test.xlsx (39.73 Ko)

Je vois qu'il n'y a plus de réponse !!!! J'ai du poser une colle ?????

Bonjour,

En attendant une meilleure solution, essaye le code suivant dans le module de "Feuil1" :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        If (Target <> "") Then
            Target.Offset(, 1).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-1],Feuil2!C[-1],0)),"""")"
            Target.Offset(, 3).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-3],Feuil2!C[-3],0)),"""")"
            Target.Offset(, 4).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-4],Feuil2!C[-4],0)),"""")"
            Target.Offset(, 5).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-5],Feuil2!C[-5],0)),"""")"
        Else
            Target.Offset(, 1).FormulaR1C1 = ""
            Target.Offset(, 3).FormulaR1C1 = ""
            Target.Offset(, 4).FormulaR1C1 = ""
            Target.Offset(, 5).FormulaR1C1 = ""
        End If
    End If
End Sub

Si tu veux avoir uniquement le résultat au lieu des formules dans les colonnes, dis-nous, on pourra le faire.

Remarque : il faut éviter d'utiliser deux colonnes pour un champs et de les fusionner . Par exemple "Désignation". Surtout quand on utilise ces tables comme une base sur laquelle on fait des recherches. En général, une colonne peut contenir assez de caractères pour un champ comme "Désignation". La logique de base => 1 champs d'une base = 1 colonne

Merci de ta réponse jesseille de regarde ça demain

DSL du temps que j'ai mi à essayer ton macro j'avais beaucoup de travail .

en tous cas je te remercie de ta réponse super rapide .

ton macro marche à merveille.

par contre si tu peux me le décrire un peux comme cela me permettra de le modifier peut être un peux sur le forma des cellules etc....

merci merci

Rechercher des sujets similaires à "listing reference facturier"