Calcul coût d'achat recette, bouton recherche de données

Bonjour,

Je souhaite calculer le coût d'achat de mes recettes.

A l'aide de tutos, j'ai réussi à créer un fichier avec 2 feuilles :

- la première appelée "base de données" où je rentre tous mes produits et prix d'achat.

- la deuxième appelée "matrice fiche technique" où j'ai intégré un bouton avec une fonction de recherche ce qui me permet d'ajouter mes produits et la quantité, ainsi le coût d'achat se calcule automatiquement.

Cependant, le problème se pose quand je veux copier cette feuille "matrice fiche technique" :

-pour créer une nouvelle recette, les produits ajoutés se mettent sur ma première matrice.

-pour modifier ou ajouter des produits sur une fiche recette enregistrée, les produits ajoutés se mettent sur ma première matrice (je peux juste modifier les quantités, et si je change les prix sur la base de données, ils se mettent à jour).

Ma question est donc comment faire pour créer des feuilles de fiches techniques vierges ou modifiables, indépendantes les unes des autres mais reliées à ma base de données ?
Merci d'avance pour votre aide.

Cordialement.

Johana

bonjour Johana,

Pour faciliter la compréhension de ton problème :

Bonjour,

Voici le fichier en question.

Egalement, j'ai mis la formule somme de ma ligne g28 à g61 avec un potentiel d'ingrédients, cependant si j'en ai que 1 par exemple, ça ne le prend pas en compte, je suis obligé de modifier la formule. Comment faire pour qu'ils soient tous pris en compte, peu importe le nombre de lignes.

Bonjour Johana,
Bonjour nouveau modo h2so4

Dans l'USF Recherche vous avez pas mal de chose à modifier

Private Sub TextBox1_Change()
  Application.ScreenUpdating = False
  Dim ligne As Long, dLigne As Long
  Dim line As Integer
  line = 0
  ListBox1.Clear
  If TextBox1 <> "" Then
    With Worksheets("Données")
      dLigne = .Range("A" & Rows.Count).End(xlUp).Row
      For ligne = 2 To dLigne
        If .Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
          ListBox1.AddItem
          ListBox1.List(line, 0) = .Cells(ligne, 1)
          ListBox1.List(line, 1) = Chr(124)
          ListBox1.List(line, 2) = .Cells(ligne, 5)
          ListBox1.List(line, 3) = Chr(124)
          ListBox1.List(line, 4) = .Cells(ligne, 3)
          ListBox1.List(line, 5) = Chr(124)
          ListBox1.List(line, 6) = .Cells(ligne, 2)
          line = line + 1
        End If
      Next
    End If
  End With
End Sub

et celui de l'ajout

Private Sub CommandButton1_Click()
  Dim Elts As Variant
  Dim line As Long
  line = 28
  Elts = ListBox1.Value
  Application.ScreenUpdating = True
  'Worksheets("MATRICE").Select
  With ActiveSheet
    Do While .Range("A" & line) <> ""
      line = line + 1
    Loop
    .Cells(line, 1).Value = Elts
    .Cells(line, 6).Value = TextBox2.Value
  End With
End Sub

En revanche pourquoi avoir 7 USF de recherche !?

A+

Merci pour votre réponse.

Je dois renseigner où ces différents codes ?

Je ne sais pas pourquoi 7 USF de recherche^^ je me suis débrouillée comme j'ai pu mais il y a des choses à rectifier...

Re,

Tu t'es plutôt bien débrouillée jusqu'à présent

Dans l'USF Recherche en remplaçant de ceux existant, mais voici le fichier modifié

Les USF superflus ont été supprimés, un bouton "Nouvelle recette" ajouté dans la feuille "MATRICE" + son code

Tu verras, j'ai utilisé une forme plutôt qu'un bouton formulaire pour ça

A+

Super merci bcp !

Mais le fichier est bloqué sur l'exécution des macros car la source du fichier n'est pas approuvé.

Re,

Il s'agit de la protection Microsoft aujourd'hui

Dans l'explorateur Windows, il faut faire un clic droit sur le fichier -> Propriétés

Cocher "Débloquer" et OK

image

Vous pourrez ainsi l'ouvrir sans problème

Sinon je l'ai remis en ZIP

J'avais fait cette action tout à l'heure mais ça ne fonctionnait pas, là c'est bon merci.

Du coup, il ne faut pas que j'écrive sur la matrice ? à chaque fois je clique sur le bouton "nouvelle recette" pour que ça m'ouvre un nouvel onglet ?

Autres questions, j'ai scindé mon tableau en 2 parties :

- ligne 28 à 61 pour les ingrédients : comment faire pour que ma formule somme de la colonne du prix affiche le tarif quelque soit le nombre d'ingrédients ? là j'ai mis de 28 à 61 mais si j'ai 3 ingrédients par exemple, ça ne calcule pas, je suis obligé de modifier manuellement ou je supprime les lignes vides....

-ligne 63 à 67 pour le matériel : comment faire quand je veux ajouter un produit pour que ça se mette dans cette partie ? et même question pour le calcul de la somme quelque soit le nombre de lignes.

Re,

Du coup, il ne faut pas que j'écrive sur la matrice ? à chaque fois je clique sur le bouton "nouvelle recette" pour que ça m'ouvre un nouvel onglet ?

Pour moi la logique est :
1 ) je veux créer/enregistrer une nouvelle recette
2) je clique sur le bouton "Nouvelle recette"
3) dans la nouvelle feuille "Recette #xx", j'inscris les différents ingrédients

Ce n'est pas correcte ?

Oui c'est correct, c'était juste pour être sûre.

Et pour les autres points ?

Egalement, peut on afficher les différents onglets de recettes créés sous forme de liste ou autre afin que ça soit facile à retrouver.

Re,

Ok, comme je suis dans mon bon jour

Voici le fichier modifié :

- Ajout d'une colonne dans les "données" pour différencier les ingrédients du matériel
- Modification du code en conséquence
- Ajout d'une feuille "Recettes" ou toutes les recettes viennent se mettre avec un lien pour y accéder directement
- Ajout d'un code pour gérer ça
- Modification des formules avec la fonction SIERREUR() pour que les calculs se fassent

J'espère ne rien avoir oublié

A+

Bonjour,

Merci pour toutes ces avancées :)

Cependant, dans les colonnes de mon tableau de recette j'ai seulement la colonne quantité qui se remplit, je n'ai plus le prix, fournisseur, conditionnement...

Bonjour,

Oups désolé comme j'ai rajouté la colonne Ingrédient/Matériel en 1er,
Il faut juste redéfinir la plage nommé "Articles" de cette façon

=DECALER(Données!$B$1;0;0;NBVAL(Données!l_article);6)

Menu "Formules" -> Groupe "Noms Définis" -> Gestionnaire de noms
Sélectionnez "Articles" et cliquez sur le bouton "Modifier" puis coller la formule ci dessus en remplacement

A+

Fait, mais ça ne fonctionne pas

Re,

étonnant

Voilà le fichier modifié

Super ! vraiment merci bcp pour le temps passé à m'aider.

Re,

Avez-vous compris la manipulation que j'ai faite du coup

L'important est d'apprendre, pas simplement d'utiliser

Sur le dernier oui, les autres non, le codage est poussé.

Salut Johana, JExcel2fr,

ma vision, largement inachevée, de l'outil.
- pas encore de sauvegarde de la recette (qui serait sauvegardée dans la même feuille)
- donc, forcément, pas de récupération d'une ancienne recette
- les formules 'MATERIEL' ne sont pas revues. Uniquement les formules 'INGREDIENTS"
- ... bref

L'ajout d'un ingrédient ou d'un matériel, oui. Ouf!
Pour ajouter un ingrédient, clic sur la cellule vide dans la liste ou sur un ingrédient déjà inscrit pour une correction.
Une TextBox s'ouvre dans laquelle tu dois cliquer pour l'activer (pas d'activation possible de ce contrôle ActiveX via VBA !!) et encoder les premières lettres de l'ingrédient (ou du matériel) recherché.
Une liste limitée correspondant aux caractères encodés s'ouvre à gauche où tu choisis d'un clic.

Pour éliminer un ingrédient, clic DROIT sur la cellule de l'ingrédient.

Si cette solution te plaît (à parachever comme dit plus haut), on continuera à bosser dessus.
On s'amuse comme on peut!

A+

15johana.xlsm (122.31 Ko)
Rechercher des sujets similaires à "calcul cout achat recette bouton recherche donnees"