Probleme de recherches valeur

Bonjour

Je souhaiterais établir un bl en fonction des produits choisi dans une liste de plus de 1500 produits.

L'idée est de pouvoir par le biais d'une macro sélectionner les lignes pour lesquels la quantité n'est pas nulle et de les remettre dans un tableau sur un onglet séparé.

Pourriez vous m'aider svp?

9bon-de-commande.zip (359.89 Ko)
4bon-de-commande.zip (359.89 Ko)

Bonjour Neodule, bonjour le forum,

Perso je n'ai rien compris !?... Elle se trouve où la quantité ? Je te propose de nous faire un exemple avec ce que tu as avant la macro et ce que tu voudrais après la macro.

La quantité c’est la colonne intitulée Q (colonne M)

actuellement il n’y a aucune quantité de remplie mais leon la sélection de chacun. .... il peut y avoir des chiffres sur des lignes aléatoires ...

une fois la commande remplie (onglet étiquettes) j’aimerais reporter un un onglet appeler BL le listing des produits commandés

J’essaie de te faire un screen du résultat souhaiter dès que je peux

Re,

J’essaie de te faire un screen du résultat souhaiter dès que je peux

Heu... Non merci, je travaille sur Excel pas sur PhotoChope....

Hihi

bonjour Thauthème

Le fichier vierge serait celui que tu as eu au début.

Ci joint un fichier qui pourrait être rempli...
La mise en forme dans l'onglet BL serait le résultat de ce que je souhaiterait.

Les manips faites :

Fonctionnement de la macro toute la gamme par le bouton onglet etiquette

Tri du plus grand au plus petit sur colonne M afin de savoir les produits selectionés

copie / coller valeur dans onglet BL des lignes dans lesquelles la quantité n'est pas nulle.

Ce que je n'arrive pas au niveau du code VBA c'est l'écriture du code permettant la sélection des lignes pour lesquelles la quantité n'est pas nulle.

Après peut être qu'un code n'obligeant pas le tri décroissant est faisable mais je sèche à ce niveau la

Merci de ton aide

1bon-de-commande.zip (372.84 Ko)

Bonjour Neodule, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim OB As Worksheet 'déclare la variable OB (Onglet Bl)
Dim OE As Worksheet 'déclare la variable OE (Onglet Etiquette)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim PL As Range 'déclare la variable PL (PLage)
Dim NL As Integer 'déclare la variable NL (Nombre de Lignes)

Set OB = Worksheets("BL") 'définit l'onglet OB
Set OE = Worksheets("ETIQUETTE") 'définit l'onglet OB
Set PL = OE.Range("D1") 'initialise la plage PL
DL = OE.Cells(Application.Rows.Count, "D").End(xlUp).Row - 1 'définit la dernière ligne éditée DL de la colonne D de l'onglet OE
For I = 3 To DL 'boucle sur toutes les lignes I de 3 a DL
    If OE.Cells(I, "M").Value <> "" Then 'condition : si la cellule ligne I colonne M de l'onglet OE n'est pas vide
        'définit la plage PL
        Set PL = IIf(PL.Cells.Count = 1, OE.Cells(I, "D").Resize(1, 24), Application.Union(PL, OE.Cells(I, "D").Resize(1, 24)))
        NL = NL + 1 'définit le nombre de lignes de la plage PL
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
Application.ScreenUpdating = False 'amasque les rafraîchissements d'écran
OB.ListObjects(1).DataBodyRange.Rows.Delete 'supprime les lignes du tableau structuré
OB.ListObjects(1).Resize Range(Cells(1, "D"), Cells(2 + NL, "AA")) 'redimensionne le tableau structuré
PL.Copy OB.Range("D2") 'copie la plage PL en D2 de l'onglet OB
End Sub

bonsoir et merci de ta réponse...

Cela fonctionne mais j'ai seulement petit problème.

La macro fonctionne a partir du moment ou il y a plus de 3 produits différents sélectionnés (quantité non nulle colonne M)

Sinon de 1 à 3 produit, cela met une erreur valeur dans les colonnes de l'onglet BL. Voir me supprime la ligne total en me mettant des format anglais $ en fin de ligne de produits

Je te remet le fichier avec ta macro intégrée.

Tu peux l'activer par le bouton BL sur l'onglet étiquette.

Merci de ta précision svp et encore de ta reponse

1bon-de-commande.zip (385.35 Ko)

Bonjour Neodule, bonjour le forum,

Je t'avoue que j'ai beaucoup de mal avec les tableaux structurés !... Le code à l'air de fonctionner mais je pense qu'il doit y avoir bien plus simple pour obtenir le même résultat. Mais je n'y arrive pas. Là, je passe l'aspirateur à cause de tous les cheveux que je me suis arrachés...

Le fichier :

2neodule-ep-v01.zip (423.32 Ko)

AU TOP !

Merci et désolé pour tes cheveux ;)

Rechercher des sujets similaires à "probleme recherches valeur"