VBA rechercheV avec plusieurs critère

Bonjour à tous,

Je viens vers vous car je galère à faire une rechercheV en VBA. Je suis loin d'être un spécialiste... J'ai essayé de chercher sur le forum mais j'ai pas trouvé (ou plutôt pas compris) ce que je recherche. Pour cela je vous met mon fichier en PJ pour que vous compreniez mieux ma demande.

14suivi-prod.xlsm (58.83 Ko)

1- J'ai dans SUIVI LIVRAISONS un tableau à venir compléter en renseignant le formulaire. Dans ce formulaire, je n'arrive pas à trouver le code pour avoir mon info en Textbox2. Il faut que ça aille chercher la colonne D du PLANNING PROD en fonction des valeurs de textbox1 et de combobox1.

2- Lorsque je clique sur enregistrer (dans mon formulaire), je souhaiterai que ça repère la valeur de textbox2 dans les nom de colonnes de T_BDD, et que dans cette colonne ça effectue un filtre pour enlever les cases vides

Une fois ce tri fait, ça viendrait copier coller toutes les lignes filtrées pour les mettre à la suite du SUIVI LIVRAISON, sauf les lignes avec l'emplacement "OPTION" en colonne "I" qui elles, viendrais se copier coller uniquement si elles apparaissent dans les combobox2 à combobox5 dans le formulaire.

Une fois collées, est-il possible de mettre un backcolor dans (T_suivi_livraisons) des colonnes A à P suivant le NUMERO PALETTE ? Ex :Toutes les lignes F06 d'une couleur, C01 d'une autre etc etc

J'espère m'être bien fait comprendre, c'est pas évident à expliquer

Merci beaucoup à ceux qui m'aideront 🙌

Cordialement

Bonjour,

ci-jointe une proposition pour le point 1

16suivi-prod1.xlsm (58.67 Ko)

Bonsoir,

Yes merci c'est ça pour le point 1

Il reste le plus compliqué maintenant 🤣

Cordialement

Il reste le plus compliqué maintenant
Certes, mais cette phrase est particulièrement imprécise : ça viendrait copier coller toutes les lignes filtrées pour les mettre à la suite du SUIVI LIVRAISON.
Où doit-on mettre ces lignes filtrées du tableau T-BDD par rapport aux colonnes du tableau T_suivi_livraisons ??
Le mieux serait de fournir un exemple.

Bonjour Thev,

Oui c'est vrai que je me suis mal exprimé :

pour info, les noms des colonnes en orange (T_BDD) sont les différentes versions des bateaux. La valeur présente en textbox2 doit être identique à l'une des versions de T_BDD. Sur cette valeur identique, ça viendrait faire un filtre pour enlever les cases vides et ça viendrait copier coller toutes les lignes présentes, SAUF les cases nommées "option" dans la colonne "emplacement" de T_BDD. Ces fameuses ligne options viendraient par la suite dans T_suivi_livraisons si et uniquement si elles sont sélectionnées dans les options dans le userform.

Pour le transfère des données dans T_suivi_livraisons :

N° BATEAU valeur du textbox1

N° CLIENT colonne A de T_BDD

MODELE BATEAU colonne A de T_Planning_prod

VERSION colonne D de T_Planning_prod

COMMANDE CLIENT valeur du textbox3

COMMANDE BROUILLET colonne E de T_Planning_prod

N° AFFAIRE colonne F de T_Planning_prod

EMPLACEMENT colonne I de T_BDD

N° MEUBLE colonne D de T_BDD

DESIGNATION colonne C de T_BDD

KIT colonne E de T_BDD

QTE MEUBLE colonne F de T_BDD

QTE COLIS/MEUBLE colonne G de T_BDD

NUMERO DE PALETTE colonne H de T_BDD

TEMPS MONTAGE colonne K de T_BDD

DIFFICULTE MONTAGE colonne J de T_BDD

DATE LIVRAISON colonne Q de T_Planning_prod

Dans l'exemple ci-dessous, j'ai indiqué dans le userform qu'il s'agissait du bateau 22, et ce bateau est composé de 2 options, 43_10_04_D & 43_20_01.

7suivi-prod-1.xlsm (64.67 Ko)

Merci de votre aide

Cordialement

Bonsoir,

ci-jointe une proposition

10suivi-prod2.xlsm (70.58 Ko)

Bonjour,

C'est excellent, merci beaucoup ! Juste 3 petites améliorations avant de passer à la suite.

1- Je ne comprend pas pourquoi mes lignes concernant la F08 se mettent en noir dans T_suivi_livraisons ?

2- Et est qu'il n'est pas possible de les faire trier par ordre numérique sur T_BDD puis par palette dans T_suivi_livraisons. De façon à avoir ça

image

plutôt que ça (cet ordre correspond aux priorités d'emballage)

image

3- Petite subtilité pour les options, est-ce possible de rajouter un filtre par palette en fin de code (dans T_suivi_livraisons) de façon à ce que les options remonte à la bonne place dans le tableau

Merci énormément pour l'aide !

Cordialement

1- Je ne comprend pas pourquoi mes lignes concernant la F08 se mettent en noir dans T_suivi_livraisons ?
Parce qu'elles ne sont pas sous format conditionnel comme toutes les autres. Correction effectuée.

ci-jointe nouvelle version
8suivi-prod3.xlsm (73.71 Ko)

Impecc merci beaucoup !

Petit soucie lors de l'importation pour la palette F10, j'ai qu'une seule ligne au lieu de 6 d'importé. (pour la version 3 CAB PRO)

Petite question : Si je veux changer les couleurs des différentes palettes j'ai juste à changer la mise en forme conditionnelle de la palette en question ?

Est-ce qu'il est possible de rajouter en fin de code un tri du plus petit au plus grand dans T_suivi_livraisons sur la colonne DATE DE LIVRAISON svp. Merci !

Pour la suite (et la fin), j'ai une demande supplémentaire. L'idée serait de générer automatiquement les étiquettes meubles et les feuilles palettes via un second userform que j'ai créer sur la version ci-jointe.

Pour les feuilles palettes je pense ça ne pas être compliqué. Cependant pour les étiquettes ça risque d'être un peu plus compliqué je pense.

L'idée est de créer une étiquette/colis/meuble. J'ai fait un exemple de ce que je souhaite avoir sur la première étiquette :

A1 -> "Bateau"+ modèle bateau de T_suivi_livraisons + "N°"

F1 -> N° Bateau indiqué dans le tbx de userform2

G1-> "cde N°"

I1 -> COMMANDE de T_suivi_livraisons

A3 -> DESIGNATION de T_suivi_livraisons (avec le bandeau de la couleur de T_suivi_livraisons)

A4 -> "Quantité / Total :"

H4 -> N° étiquette"/"nombre de colis pour ce meuble (exemple: "1/3")

A5 -> "N° Article"

E5 -> N° Meuble de T_suivi_livraisons

A7 -> "Client"

E7 -> CLIENT de T_suivi_livraisons

i7- > NUMERO PALETTE de T_suivi_livraisons

Idem pour les feuilles palettes; une feuille palette correspond à la liste des meubles qui composeront la palette.

C1 -> MARQUE de T_suivi_livraisons

F1 -> NUMERO PALETTE de T_suivi_livraisons

A2 -> "Bateau"+ modèle bateau de T_suivi_livraisons + "N°" + N° BATEAU de T_suivi_livraisons

F2 -> DATE DE LIVRAISON de T_suivi_livraisons

colonne A -> les différents N° MEUBLE de T_suivi_livraisons par rapport au NUMERO PALETTE et au N° BATEAU indiqué dans userform2

Colonne B -> Idem avec la colonne EMPLACEMENT de T_suivi_livraisons

Colonne C -> idem avec la colonne DESIGNATION de T_suivi_livraisons

Colonne D -> Idem avec la colonne QTE MEUBLE de T_suivi_livraisons

6suivi-prod4.xlsm (223.04 Ko)

Je reste disponible si jamais il y a des questions ;) Merci encore ça m'aide énormément !

Cordialement

Bonsoir,

ci-jointe nouvelle version

7suivi-prod5.xlsm (134.88 Ko)

Bonjour,

C'est impecc dans le principe 👌👍

A rajouter à ça :

  1. Le tri par date de livraison à la fin du code pour T_suivi_livraisons
  2. Pour l'impression des étiquettes, est-ce possible de mettre un backcolor sur la case désignation de la couleur de la palette ?
  3. Pour l'impression des étiquettes, faire de façon à avoir 10 étiquettes par feuilles (5x2). Pour info, elles sont imprimées sur des feuilles adhésives avec des cases de 105*57mm
  4. Pour les feuilles palette, la case A2 ne se rempli pas. Il devrait y avoir écrit "Bateau CA40 N°18"
  5. Petite amélioration, est-ce possible de masquer les 2 onglets feuille palette et étiquette meuble ? Et où est-ce que je peux modifier le lien d'enregistrement du fichier ?

Sinon le reste c'est parfait !

Cordialement

Bonjour,

1.Le tri par date de livraison à la fin du code pour T_suivi_livraisons

déjà en place

    
    '// Tri suivi des livraisons par palette et date de livraison
    With TS_livraisons
        .Range.Sort key1:=.ListColumns("NUMERO PALETTE"), order1:=xlAscending, Key2:=.ListColumns("DATE DE LIVRAISON"), Order2:=xlAscending, Header:=xlGuess
    End With

Et où est-ce que je peux modifier le lien d'enregistrement du fichier ?

Ici avec "nom_fichier ":

Private Sub Cmd_enregistrer_Click()
    Dim nom_fichier As String

    wb_print.Activate: wb_print.Sheets(1).Activate
    If MsgBox("Voulez-vous enregister le classeur d'impression", vbYesNo) = vbNo Then Exit Sub

    nom_fichier = ThisWorkbook.Path & "\Impression Bateau " & Me.Cbx_bateau

ci-jointe nouvelle version

9suivi-prod6.xlsm (142.73 Ko)

Bonjour Thev

J'ai rajouté un key3 pour avoir les N° BATEAU dans l'ordre 😉

Je remplace "nom_fichier" par S:\AFFAIRE\CA40 etc etc ?

Est-ce possible de laisser ouvert le fichier d'impression d'étiquette une fois enregistrement ?

Merci

Cordialement

Est-ce possible de laisser ouvert le fichier d'impression d'étiquette une fois enregistrement ?
Il suffit de neutraliser son instruction de fermeture en la mettant en commentaire
Private Sub Cmd_enregistrer_Click()
    Dim nom_fichier As String

    wb_print.Activate: wb_print.Sheets(1).Activate
    If MsgBox("Voulez-vous enregister le classeur d'impression", vbYesNo) = vbNo Then Exit Sub

    nom_fichier = ThisWorkbook.Path & "\Impression Bateau " & Me.Cbx_bateau
    With Application.FileDialog(msoFileDialogSaveAs)
        .InitialFileName = nom_fichier
        .FilterIndex = 1 ' 1 = xlsx, 2 = xlsm, 3 = xlsb
        .Show
        .Execute
    End With

    Application.DisplayAlerts = False
    'wb_print.Close

    Unload Me
End Sub

Bonjour !

Merci en effet c'était pas compliqué.

Et pour le lien d'enregistrement dcp ?

J'ai une demande de façon à standardiser le fichier pour plusieurs clients, certains de nos client divise les livraison en plusieurs transport espacés de plusieurs semaine. J'ai donc dans T_Planning_prod modifié DATE DE LIVRAISON par "LIVRAISON CLIENT KIT 1" et j'ai rajouté 2 colonnes en R et en S avec "LIVRAISON CLIENT KIT 2" et "LIVRAISON CLIENT KIT 3"

image

Dans T_BDD j'ai une colonne KIT (avec 1,2 ou 3 d'indiqué)

image

Il faudrait que la date de livraison dans T_suivi_livraisons soit défini en fonction de la date indiqué dans LIVRAISON CLIENT KIT 1,2 ou 3 (T_Planning_prod) en fonction de la colonne KIT de T_BDD.

Je reste à votre disposition en cas de questions, merci encore !

Cordialement

Et pour le lien d'enregistrement dcp ?
Je vous ai donné la réponse dans le post du Vendredi 4 novembre 11h47.

Pour la nouvelle demande, transmettez un nouveau fichier comportant les modifications que vous avez apportées aux données.

Bonjour,

Voici la V7 avec un exemple sur le bateau 20 ou les palettes C1,C2 et C3 sont mis au KIT 2.

Pour ce qui est du lien d'enregistrement, je suis désolé mais je n'ai pas compris où je dois renseigner mon liens "X:\PRODUCTION\1- Dossiers de lancement"

Cordialement

5suivi-prod7.xlsm (199.10 Ko)
Pour ce qui est du lien d'enregistrement, je suis désolé mais je n'ai pas compris où je dois renseigner mon liens "X:\PRODUCTION\1- Dossiers de lancement"
Ici avec "nom_fichier ":
Private Sub Cmd_enregistrer_Click()
    Dim nom_fichier As String

    wb_print.Activate: wb_print.Sheets(1).Activate
    If MsgBox("Voulez-vous enregister le classeur d'impression", vbYesNo) = vbNo Then Exit Sub

    nom_fichier = ThisWorkbook.Path & "\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau

nom_fichier = "X:\PRODUCTION\1- Dossiers de lancement\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau

ci-jointe nouvelle version:

7suivi-prod8.xlsm (199.58 Ko)

Bonjour Thev !

Excuse moi j'ai dû m'absenter quelques jours.

1- Pour nom_fichier = "X:\PRODUCTION\1- Dossiers de lancement\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau je dois le rajouter sous

nom_fichier = ThisWorkbook.Path & "\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau ?

2- J'ai cependant découvert une erreur lors de l'impression des étiquettes. Lorsque je génère les étiquettes les Qté / Total : sortent mal.

Elles génèrent ca :

capture d ecran 2022 11 17 151304

Au lieu de ça :

image
3- J'ai une dernière chose à rajouter, mais il faut que je créer une V9 pour pouvoir l'expliquer, je fais ça au plus vite ;)

Merci encore !

Cordialement

Vous devez remplacer :

nom_fichier = ThisWorkbook.Path & "\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau

par

nom_fichier = "X:\PRODUCTION\1- Dossiers de lancement\Etiquette et feuilles palette Bateau " & Me.Cbx_bateau

ci-jointe version corrigée pour les quantités dans les étiquettes :

15suivi-prod9.xlsm (206.08 Ko)

Rechercher des sujets similaires à "vba recherchev critere"