Devis/Bordereau lignes à supprimer

Bonjour à tous!

J'ai un Bordereau qui me sert de base de données, que j'agrémente au fur et à mesure du temps. Je me sert de ce dernier pour effectuer un devis, dans lequel je vais prendre que certains éléments de mon Bordereau, suivant les marchés.

Je joins également le Bordereau pour expliquer à quoi correspondent mes prix (explication en texte italique).

Le but est de sortir de mon Bordereau, un devis selon mes envies.

Le fichier que je vous joins ici est assez sommaire, j'avais pensé à quelque chose dans ce style là :

Si dans ma colonne devis il y a une croix, alors cette partie est intégrée à mon devis.

Sinon elle est supprimée

Le problème reste que les gros titres ne peuvent être supprimés (1,2 et 6 dans l'exemple)=> je peux éventuellement mettre une croix devant

Le texte en Italique doit être supprimé

C'est la transition avec le devis qui est compliqué : je rajoute une colonne quantité et montant et je garde les PU. J'aimerai que la partie où l'entreprise doit remplir ses PU soit remplie d'une couleur (donc la ligne où se trouve la croix dans mon Bordereau) et que tout sauf ces prix soient verrouillés, le but étant que le fichier ne soit pas modifiable.

Il faudrait également que le texte des "libellés gros titres" soit en gras.

En somme, j'ai des parties du code à mettre en place mais ça ne marche pas très bien (est ce que lorsque je veux passer de mon Bordereau à mon devis, je copie toute les cellules pour travailler dessus ou il y a une autre solution) et c'est assez saccadé..

Si vous pouvez m'indiquer la marche à suivre

Merci d'avance

32test-macro.xlsm (19.82 Ko)

Bonjour,

Personne n'a d'idée ??

Bonjour,

Je me posais une question... Je viens de regarder ton fichier, de ce que j'ai compris, tu as un devis qui sert de base de données, donc tu as toutes les choses que peut vouloir le client avec un prix unitaire en face, et à la fin tu ne voudras voir que les données des choses sélectionnées. Mon idée c'est de passer par un simple filtre tout bête, je t'ai rajouté quelques infos que tu devras mettre pour les nouvelles entrées: le parent (quel est le groupe de la ligne? pour un pneu michelin, le groupe sera: "pneu", soit 1.1), il sert pour les formules, le type de ligne (est-ce que c'est une ligne de groupe comme pneu, ou bien une ligne unique comme la marque du pneu?), ça sert pour mettre les formules rapidement. Ensuite tu as: Devis, donc ici tu coches, puis nbval, qui a 2 formules différentes: pour les lignes "unique", elle met 1 si la colonne devis est cochée, pour les lignes "groupe", elle compte le nombre de cases cochées dont les lignes on pour parent la ligne "groupe".

ensuite il te suffit de faire un filtre sur nbval en décochant 0, et ça t'affichera uniquement les infos nécessaires.

C'est une idée comme une autre qui permet d'esquiver complètement le fonctionnement par macros

Voici le fichier exemple:

13test-macro.xlsm (18.84 Ko)

Bonjour Ausecour,

Effectivement, ce système pourrait marcher mais ce n'est pas le résultat escompté, je vais essayer d'être un peu plus clair :

J'ai donc mon Bordereau des prix, où j'ai toutes les descriptions de tout ce que je peux vendre, avec les prix unitaires, j'ai même des lignes pour décrire l'objet (juste du texte)

Le but final est de construire des devis à partir de ce Bordereau (par exemple, 3 ou 4 devis dans des onglets différents). Mais je ne dois pas toucher au bordereau initial. Personne ne doit toucher à ce bordereau qui est la base de l'entreprise. même pour rajouter des lignes, il faudrait que ce soit automatique (on verra plus tard pour ça)

En ce qui concerne les colonnes parent/type et nbval du fichier c'est super pour ce fichier pour reprendre les informations plus au dessus, mais j'ai actuellement plus de deux milles lignes dans mon Bordereau, ce qui risque d'être fastidieux (mais j'avoue ne pas avoir de solution dans l'immédiat la dessus)

De plus, dans mes devis, je dois rajouter des colonnes, à savoir quantités et montant (pour faire la multiplication avec le Prix unitaires)

Voila c'est pourquoi je voulais faire cela avec une macro, étant donné que j'exploite mon Bordereau dans d'autres onglets...

Merci

Bonjour, en clair ta base de donnée doit rester intacte, mais tu peux la dédoubler pour faire une sorte de formulaire où tu choisis ce que tu veux?

Et après tu voudras que ça t'affiche le résultat de tes choix avec une mise en forme, comme un devis professionnel quoi? c'est ce que je vois au final sur ton premier fichier, tu as devis test qui est une copie conforme de ta base de donnée, et devis qui est le résultat des choix.

La solution à laquelle je pense: tu as un bouton dans ta feuille devis test qui permet d'exporter ton devis sur une autre feuille, tu auras juste les colonnes quantité et montant qui vont être en plus, ensuite une mise en forme conditionnelle gère les titres et les couleurs de fond, j'ai déjà une idée de comment procéder. Pour gérer les croix etc du coup tu cocheras toutes les lignes que tu veux voir apparaitre

ça t'irait comme fonctionnement?

Re,

Effectivement ce serait ça l'idée, utiliser mon Bordereau des prix pour créer mes devis

Par contre le formulaire je ne vois pas trop comment tu vois la chose, je veux bien voir ce que tu as derrière la tête!

T'en remerciant par avance,

Re,

voici mon idée illustrée par ce résultat obtenu par macro:

12test-macro.xlsm (31.71 Ko)

Bonjour,

C'est vraiment ce que j’espérais, ça marche vraiment bien en plus merci!

J'ai juste un tout petit détail à régler, mais en terme de code je pense que c'est pas facile pour le coup.

Ce n'étais pas marqué dans mon fichier, mais à la base, dans mon bordereau des prix, j'ai une ligne indiquant quelle est l'unité de mon article (voir fichier joint, onglet "Devis"), l'unité peut-être au Forfait, au Mètre linéaire, au Mètre carrée, au Mètre cube. (l'entreprise écrit alors en toutes lettres)

Lorsqu'on le transforme grâce à ton code, il faudrait que ces lignes se transforment en F (pour forfait) en ML (mètre linéaire) en M2 (mètre carrée) et M3 (mètre cube), dans le devis (c'est à dire qu'il faut rajouter une colonne "Unités" au modèle).

C'est difficile à expliquer, je t'ai mis l'exemple dans l'onglet "devis".

Pour ma part, je voyais rajouter une colonne dans le modèle, faire l'ensemble de la manipulation grâce à ta macro, puis faire que pour chaque cellule contenant juste les termes ("Forfait", "mètres linéaires" ,...,) faire un offset pour les décaler à l'endroit qu'il faut (colonne Unités) Le problème reste la transformation des termes.

Si tu as des pistes à ce sujet.

T'en remerciant par avance,

10test-macro-1.xlsm (31.25 Ko)

Bonjour,

En effet cette donnée manquait dans ton fichier de départ

Tu as dis que l'on ne pouvait pas modifier la base de donnée de ton entreprise c'est ça? parce que je ne suis vraiment pas fan des lignes que génère "L'unité:", "Le mettre linéaire" etc, j'aurais plutôt été partant pour rajouter une colonne quantité et une colonne unité dans ton devis plutôt que de créer une ligne spécialement pour ça...

Oui autant pour moi, c'est une donnée importante en plus..

Oui mon Bordereau est fixe (mais il doit contenir cette fameuse ligne Forfait, mètre linéaire), quand elle répond, elle doit savoir dans quoi elle s'engage (par exemple, pour le carrelage, on peut dire au m2 ou au m3 pour des palettes).

Mais mon bordereau reste intouchable, dans l'exemple j'avais oublié de le préciser..

En somme, mon bordereau doit contenir cela, le but étant de transformer cette partie sur mon devis par des F, M2 etc..

J’espère que je suis assez clair.

Merci

Oui c'est assez clair, mais après je trouve que c'est une mauvaise idée de cocher la partie où tu remplis l'unité...

En fait de ce que je vois... tu vas vouloir dans ton devis toutes les lignes où tu as mis une quantité, donc après il suffit d'arriver à remonter les données pour savoir quelles lignes afficher, ça serait plus logique également pour la personne qui saisit de n'avoir à mettre que les quantités, qu'en penses-tu?

Autre question, est-ce qu'un carellage donné peut avoir 2 unités de commande différentes? en clair une ligne sur laquelle la personne commande en m2, et une où la personne commande en m3?

Pour la transformation, il faudrait que j'ai le détail de toutes les unités utilisées

Dans mon devis, je vais vouloir uniquement les unités des libellés sélectionnés (comme dans l'exemple que je t'ai fourni).

Je ne rempli pas les quantités dans mon Bordereau mais que dans mon devis..

Après on peut simplement rajouter une colonne dans mon bordereau avec les unités directement et utiliser la formule... mais pour les rajouter, il faut le faire manuellement et j'en ai plus de 2000 de prix.. S'il y a une solution plus simple.

La ligne de mon Bordereau doit devenir colonne dans mon devis avec les abréviations qui vont bien..

Non le carrelage c'était un exemple, un même libellé ne peut pas avoir plusieurs unités. Au pire ce sera Installation de carrelage en m2 et livraison de palette en m3

En terme d'unités, on a Forfait (F), mètre linéaire (ML), mètre carrée (M2), mètre cube (M3) et Unité (U).

Merci beaucoup de ton aide c'est vraiment sympa!

Excuse moi je crois que je bug un peu...

Le tableau que tu m'as mis dans "Devis", avec "Le forfait" etc... tu le sors d'où actuellement? c'est ta feuille devis_test qui ressemblera à ça? où est stockée la ligne "Le forfait"? actuellement elle ne se trouve pas dans ta base de données non plus, est-ce que à la limite tu peux m'envoyer ce à quoi ressemble vraiment tes feuilles? parce que ça me bloque de ne pas visualiser tout ça, en programmation, si tu ne sais pas où sont les données et comment elles sont structurées, tu ne peux pas coder

Oui je pense que c'est normal, c'est un peu compliqué par message et je m'embrouille avec les données du premier tableau

Je te joins par la présente un extrait du Bordereau des prix ("onglet bordereaux") et le devis correspond ("onglet devis").

Comme tu l'as fais avec ta macro précédente, il faudrait arriver à extraire de mon bordereau les fameuses lignes "Forfait", "Unité" etc et la mettre dans mon devis sous la forme F, U etc

Autant on peut mettre une colonne cachée dans mon Bordereau et transposé avec ta macro, je ne sais pas trop

Merci

5bp-de.xlsx (15.28 Ko)

Bonjour,

C'est déjà beaucoup plus clair

Je te retourne un résultat "incomplet":

19bp-de.xlsm (39.13 Ko)

Je dis incomplet, car j'utilise une fonction qui s'appelle Unite(), que j'ai créé pour l'occasion afin de convertir les textes comme: "Le Forfait :" en : "F" et ainsi de suite, mais comme je n'ai pas les phrases de chaque unité, je ne peux pas les ajouter

Si jamais tu souhaites t'y coller, il suffit de modifier:

Private Function Unite(ByVal texteUnite As String) As String
Select Case LCase(Trim(texteUnite))
Case "le mètre linéaire :"
    Unite = "ML"
Case "l'unité :"
    Unite = "U"
Case "le forfait :"
    Unite = "F"
End Select
End Function

En rajoutant par exemple

Case "le mètre carré :"
    Unite = "M2"

Mets bien tout en minuscule en respectant les espaces entre chaque élément de la phrase et tout devrait aller

Bonjour Ausecour,

ça marche du tonnerre!!

Je vais étudier chaque ligne afin de m'y faire mais super travail en tout cas.. Je ne risque plus de faire d'erreur avec ça!

Au plaisir!

Re,

de rien

Tu peux toujours oublier de cocher une case mais ça je ne peux rien y faire

Bonne chance pour la compréhension du code

Rechercher des sujets similaires à "devis bordereau lignes supprimer"