VBA ne fonctionne plus sur tableau inventaire

Bonjour,

Voila mon problème, j'ai un fichier avec une base de référence avec le nom des fabricants, la référence, la désignation et le prix.

J'ai une seconde feuille ou je peux renseigner le fabricant et la référence pour qu'il recherche automatiquement la désignation et le prix.

Le programme fonctionne bien sur les premières lignes de mon tableau mais pas sur les suivantes, et aussi si je supprime une ligne existante, le programme ne fonctionnera plus sur cette ligne, idem si je fais un copier-coller de cette feuille et que je supprime son contenu pour le remplacer par un autre, plus rien ne fonctionne.

Tout fonctionné bien mais j'ai modifier le code car j'ai ajouté et supprimé des colonnes de ma feuille et depuis je n'arrive pas à mettre le doigt sur le problème.

Si quelqu'un pouvait m'éclairer, je suis un peu perdu la.

Merci d'avance.

11inventaire-v3.rar (403.72 Ko)

Bonjour,

Sans classeur modèle

place le en PJ sans données confidentielles

Oui je n'avais pas vu que l'importation n'avait pas fonctionné, c'est bon j'ai éditer mon premier message

Re,

Remplace par ce code

Private Sub Worksheet_Change(ByVal Target As Range)

    derln = Range("L" & Rows.Count).End(xlUp).Row + 2
    If Not Intersect(Target, Range("C4:E" & derln)) Is Nothing Then
        Application.EnableEvents = False
        Set fb = Sheets("Base Tarif")
        tablo = fb.Range("A2:D" & fb.Range("A" & Rows.Count).End(xlUp).Row)
        colP = Cells(2, Columns.Count).End(xlToLeft).Column
        colQ = Rows("2:2").Find(Right(Cells(2, colP), 4)).Column
        Cells(Target.Row, 6).ClearContents
        Cells(Target.Row, colP - 1).ClearContents
        If Range("C" & Target.Row) <> "" And Range("D" & Target.Row) <> "" Then

            For i = 1 To UBound(tablo, 1)
                If tablo(i, 1) = Range("C" & Target.Row) _
                        And tablo(i, 2) = Range("D" & Target.Row) Then
                    Cells(Target.Row, 5) = tablo(i, 3)
                    Cells(Target.Row, colP - 1) = tablo(i, 4)
                End If
            Next i
        End If
    End If
    Application.EnableEvents = True
End Sub

Ok merci ça fonctionne mieux par contre si par exemple j'ai une ligne sans référence et que la ligne suivante je veux mettre une référence, alors le programme ne fonctionne pas.

Re,

Au lieu de recherche la derniere ligne en colonne L, il faut la chercher en colonne C

derln = Range("D" & Rows.Count).End(xlUp).Row + 2

Merci ça fonctionne niquel

Rechercher des sujets similaires à "vba fonctionne tableau inventaire"