Récupération de donnée d'un seul fournisseur

Bonjour à toutes & à tous,

J'espère que vous allez bien en cette fin d'année

J'ai une question : est ce possible de récupérer les données dans l'onglet "Bon de commande", lorsque je mets le fournisseur en D15 (ex : fournisseur AAA) connaître tous ces produits qui sont dans l'onglet Grilles et tarifs dans la cartouche C36 savoir qu'il vend éponge bleue, des éponges vert

Je ne sais pas si j'ai été claire ???

Je vous joins mon doc si quelqu'un a une idée - Merci d'avance

Est ce possible si j'enregistre mes fournisseurs en cascade - Je vois pas comment mais est ce possible -

La seule chose s'est que je peux avoir beaucoup d'article par fournisseur.

Je suis perdue - Désolé si quelqu'un à une idée

Bonjour

J'ai une question : est ce possible de récupérer les données dans l'onglet "Bon de commande", lorsque je mets le fournisseur en D15 (ex : fournisseur AAA) connaître tous ces produits qui sont dans l'onglet Grilles et tarifs dans la cartouche C36 savoir qu'il vend éponge bleue, des éponges vert

Que voulez-vous dire par "cartouche C36" ???

Si je comprends votre demande il s'agirait de récupérer les infos de la colonne C dans la feuille grille et prix en fonction du choix de D15 ?
Si oui par programme VBA ?

Crdlt

Oui c est ca je voudrais quand je choisi le fournisseur AAA c est de savoir ce qu il vend dans l onglet grille de prix comme une éponge vert ou une éponge bleu. Car j ai 180 fournisseur et chercher un article en particulier cela me sera compliqué sur 2000 produits . En vba ou en listiew je n ai pas assez de connaissance

Bonjour à tous !

Un petit code à placer dans un module standard...

Sub test()
Dim F1, F2 As Worksheet
Dim dl, lig, lig1, n, i
Set F1 = Worksheets("Bon de Commande")
Set F2 = Worksheets("Grille de Prix")
dl = F2.Range("B" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
lig = 4
lig1 = 36
For i = 36 To 78 Step 3
F1.Cells(i, 3) = ""
Next i
For n = 4 To dl
If F2.Cells(lig, 2) = F1.Range("D15") Then
F1.Cells(lig1, 3) = F2.Cells(lig, 3)
lig1 = lig1 + 3
End If
lig = lig + 1
Next n
Application.ScreenUpdating = True
End Sub

Bonne journée !

Bonjour

Une proposition avec affichage des produits oar fournisseur lorsque l'on change le nom de ce dernier

A regarder a tout hasard

Peut être

Revoir les formules car j'ai supprimé la colonne A et les lignes d'entete de la grille des prix

Cordialement

FINDRH

Bonjour

Oui c est ca je voudrais quand je choisi le fournisseur AAA c est de savoir ce qu il vend dans l onglet grille de prix comme une éponge vert ou une éponge bleu. Car j ai 180 fournisseur...

Un premier point important est de défusionner votre cellule D15. VBA n'aime pas les fusions de cellules
Ensuite dans votre fichier mettez ces codes :

1. Faites un click droite sur l"onglet "Bon de commande et choisissez l'option "Visualiser le code"
2. Collez le code ci-dessous dans la fenêtre

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("D15")) Is Nothing Then
    Call importation
End If
End Sub

3. Dans le menu cliquez sur "Insertion"
4. Choisir "module"
5. dans la fenêtre, collez le code ci-dessous

Sub Importation()
Dim c As Range, plage As Range
Dim lig As Integer, ligmax As Integer
Dim prem As String
Dim i As Byte

ligmax = 78 'ligne mac dans bon de commande
For i = 36 To ligmax Step 3
    Sheets("Bon de commande").Range("C" & i).ClearContents
Next i

With Sheets("Grille de prix").Range("B3:B" & Sheets("Grille de prix").Range("B" & Rows.Count).End(xlUp).Row)

    Set c = .Find(Sheets("Bon de commande").Range("D15"), LookIn:=xlValues)
        If Not c Is Nothing Then
            prem = c.Address
            lig = 36
            If lig > ligmax Then Exit Sub
            Do
                Sheets("Bon de commande").Cells(lig, "C") = c.Offset(0, 1).Value
                lig = lig + 3
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And prem <> c.Address
        End If
End With
End Sub

6. Enregistrez votre fichier avec l'extension XLSM (pour accepter les macros)

Pour le test, sélectionnez un fournisseur en D15

NB : Attention que si vous avez plus de 15 articles, on sort du code. la valeur ligmax = 78 correspond à votre ligne maximum dans votre bon de commande.


@Nordij_Nation : Mon commentaire est de juste vous donner une info que, je pense, vous ne savez peut-être pas. Dans le déclaration de vos variables, seule F2 est considérée comme "Worksheet". Toutes les autres sont déclarée type "Variant".
En toute simplicité.

Cordialement

EDIT : Findrh : désolé je n'avais pas vu votre post !! sans quoi je n'aurais plus posté

Bonjour à tous!

@Dan

Merci pour les infos j'en prend note

Bonne journée !

Messieurs,

Merci vos propositions fonctionnent parfaitement. Mais j'avoue j'avais une vision comme FINDRH Je vais essayer de comprendre le code Merci . Vraiment merci à vous trois

re

Mais j'avoue j'avais une vision comme FINDRH

Ok. je n'avais pas vu qu'il avait posté juste avant moi
Si cela vous convient, je vous laisse gérer avec lui
Reste ce que je vous ai dit au sujet de votre cellule fusionnée. A modifier de votre coté

Cordialement

Bonjour à tous

J'ai fait simple..... et je pense qu'on pourrait sélectionner les produits à commander chez ce fournisseur et alimenter les zones du bon de commande....

Je vais commenter le code au maximum...

Pas sûr de ne pas avoir besoin d'autres lumières....

Cordialement

FINDRH

J'ai essayé de créer un code pour qu'en faisait un double clique cela alimente le bon de commande mais mon doc comme tout le monde me le conseille avec les cellules fusionnées cela complique tout je modifie quelque peu mon doc... et si je peux me rapproché de vous dès que j'ai fini. Je vous en remercie - merci encore pour le temps que vous m'avez consacré

Sabrina

C'est la Cata - j'ai essayé de créer le code grâce à l'idée de FINDRH mais j'abime tout..

J'ai refait le document Bon de commande sans cellule fusionnée - Le nom du fournisseur en D15. et l'idée de la ListBox1 est génial mais je n'arrive pas a codifier en cliquant sur C36 (aliment la listview) pour alimenter les données suivantes D36 = désignation; F36 =Unité de vente et H36 = Prix vente

J'ai compris qu'il valait les décalé de 3 pour faire pareil en C39 et ainsi de suite mais je suis nulle en code

Désolé pas fourni le nouveau doc

J'ai testé l'envoi il fonctionne ...... rien de cassé....

Par contre j'ai récupéré la sélection de la liste affichée ( choix des produits dans listbox) pour alimenter le bon de commande dans une nouvelle version ==> voir cette version

Pour utiliser tes données il suffit de recopier, dans ce fichier, tes lignes de produits dans grille prix ( sur la ligne 3, puis de supprimer la ligne 2) Vérifer la taille du tableau ==>clic dans tableau ==>menu création de tableau redimensionner le tableau

Idem pour alimenter les autres onglets.

Option la plus simple pour tester sereinement avec les données

Je n'ai qu'un pb je n'arrive pas à trouver le code pour afficher l'userform en haut à droite de l'écran....

A tester si pb a dispo (message privé pour m' alerter..)

Cordialement

FINDRH

Rechercher des sujets similaires à "recuperation donnee seul fournisseur"