création fiches recettes et ingrédients

czac

XLDnaute Occasionnel
Bonjour,

je suis en train de créer un fichier pour la création de fiches recettes en lien avec des ingrédients. j'ai mis des notes sur le fichier concernant différents points où je bloque. Serait-il possible de m'aider sur ce sujet. ci-joint le fichier

un grand merci

cordialement
 

Pièces jointes

  • V2 Fiche recette 24.04.17.xls
    149 KB · Affichages: 180

don_pets

XLDnaute Occasionnel
Bonjour,

Pour la première partie à savoir "Ajouter un ingrédient", j'imagine que tu parlais de la ligne 13 et non 16 de l'onglet "Page de garde".

Voici le code que j'utiliserais :
VB:
Sheets("Page de garde").Range("C13:T13").Select
Selection.Copy
sheets("Liste Ingrédients").activate
sheets("Liste Ingrédients").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Ce code copiera ta ligne et ira l'insérer sur la première ligne non vide de l'onglet "liste des ingrédients"

Je regarde le reste
 

don_pets

XLDnaute Occasionnel
Pour trier :

VB:
Sheets("Liste Ingrédients").Activate
ActiveWorkbook.Worksheets("Liste Ingrédients").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste Ingrédients").Sort.SortFields.Add Key:=Range("A36000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Liste Ingrédients").Sort
.SetRange Range("A7:S36000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
    End With


Ce qui donnerait pour ta première macro :

VB:
    ' Copier

Sheets("Page de garde").Range("C13:T13").Select
Selection.Copy
Sheets("Liste Ingrédients").Activate
Sheets("Liste Ingrédients").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

    ' Trier

Sheets("Liste Ingrédients").Activate
ActiveWorkbook.Worksheets("Liste Ingrédients").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste Ingrédients").Sort.SortFields.Add Key:=Range("A36000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Liste Ingrédients").Sort
.SetRange Range("A7:S36000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
    End With
 

vgendron

XLDnaute Barbatruc
Hello

ci joint un début de proposition
1) prix kg ou PU
si tu changes une des valeurs, l'autre est effacée

2) ajouter un ingrédient
3) modifier un ingrédient:
le USF te donne juste la liste des ingrédients existants, tu en sélectionnes un, et il est recopié dans ta feuille page de garde en C13:T13

suis pas allé plus loin.
 

Pièces jointes

  • V2 Fiche recette 24.04.17.xls
    164.5 KB · Affichages: 70

vgendron

XLDnaute Barbatruc
Ci jointe nouvelle version qui pemet de modifier un ingrédient: avec des petits boutons qui apparaissent ou disparaissent en fonction de ce que tu fais :)
à tester

la suite. pour les recettes.. plus tard :)
 

Pièces jointes

  • Fiche recette Rev2.xls
    171.5 KB · Affichages: 57

czac

XLDnaute Occasionnel
génial franchement.... lors de la modification d'ingrédients, peut-on faire en sorte que si on essai de modifier le nom de l'ingrédient cela bloque car pour la suite et les fiches recettes, on ne peut se permettre de modifier le nom de l'ingrédients sinon je pense que cela va tout fausser. J'ai juste modifié le fichier ci-joint avec des modif de mise en page et rajout de l'euro.

merci
 

Pièces jointes

  • Fiche recette Rev2.xls
    166.5 KB · Affichages: 57

vgendron

XLDnaute Barbatruc
je viens de voir ton dernier post. donc pas pris en compte dans cette version qui permet de créer une nouvelle recette
va voir les commentaires que j'ai mis dans le code (Alt + F11) pour ouvrir l'éditeur
 

Pièces jointes

  • Fiche recette Rev2.xls
    177.5 KB · Affichages: 54

czac

XLDnaute Occasionnel
Voilà viens de mettre en forme le dernier fichier envoyé. J'ai rajouté" date" en U13 et modifié dans VBA pour que cette date se recopie également dans liste d'ingrédient colonne contrôle étiquette.

concernant la création de la fiche recette, j'ai rajouté Numéro (ex: 26) qui doit remplacer le XX de FAB.XX.02 par exemple. Par contre j'ai essayé de créer une autre fiche, mais cela ne fonctionne pas. effectivement l'incrémentation je pense ne fonctionne pas.

merci beaucoup pour votre aide
 

Pièces jointes

  • Fiche recette Rev2.xls
    159 KB · Affichages: 36

vgendron

XLDnaute Barbatruc
Ci jointe Rev3
avec interdiction de modifier le nom de l'ingrédient
par contre, j'ai pas reproduit tes modifs de mise en page et euro: je te laisse le refaire sur cette version, parce que j'ai pas bien vu ou tu avais fait les modifs
 

Pièces jointes

  • Fiche recette Rev3.xls
    182 KB · Affichages: 47

czac

XLDnaute Occasionnel
Voilà le fichier modifier avec mise en page etc....
Par contre la création de la recette ne fonctionne plus sur cette version. de plus j'ai rajouter "date" sur la page de garde qui doit se copier également sur liste d'ingrédients au niveau date contrôle étiquette et également pouvoir être en modification.
J'ai rajouter aussi sur la version 3 le numéro (ici 26 par exemple) qui entre dans le N° de la fiche recette ex: FAB.26.01
 

Pièces jointes

  • Fiche recette Rev3.xls
    175 KB · Affichages: 33

vgendron

XLDnaute Barbatruc
Mais je suppose que le numéro n'est pas pris en compte :)
1) la création de recette buggait si c'était la première (=tableau répertoire vide)
-->corrigé avec le code suivant
2) tu crées une recette 2 puis 3 puis 4 avec le MEME numéro 26--> c'est ok
3) tu veux maintenant créer une recette 5 avec un NOUVEAU numéro 27--> c'est ok aussi avec le code suivant


reste autre chose?

VB:
Sub creation_nouvelle_recette()
' creation_nouvelle_recette Macro
'
Application.ScreenUpdating = False
'
nbfeuilles = ActiveWorkbook.Sheets.Count 'on compte le nombre de feuilles dans le classeur
NomRecette = Sheets("Page de garde").Range("D18") 'on récupère le nom de la recette
With Sheets("Repertoire") 'on va voir si la recette existe déjà
    'fin = .Range("C" & Rows.Count).End(xlUp).Row
    Set c = .Range("C8:E" & .Range("C" & .Rows.Count).End(xlUp).Row).Find(NomRecette, lookat:=xlWhole)
    If Not c Is Nothing Then
        MsgBox ("cette recette existe déjà!")
        Exit Sub
    End If
End With

NumLastDoc = Sheets("Repertoire").Range("A" & Rows.Count).End(xlUp) 'nom du dernier doc présent dans la feuille Repertoire
If NumLastDoc = "N° du document" Then
    NumNewDoc = "FAB." & Range("N18") & ".01"
ElseIf CInt(Mid(NumLastDoc, 5, 2)) <> Range("N18") Then
    NumNewDoc = "FAB." & Range("N18") & ".01"
Else
    NumNewDoc = Left(NumLastDoc, 7) & Format(CInt(Right(NumLastDoc, 2)) + 1, "00")
End If

Sheets("Repertoire").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = NumNewDoc 'on ecrit le nouveau numéro en fin de liste
Sheets("Repertoire").Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = NomRecette 'on ecrit le nom de la recette à coté en colonne B

    Sheets("FAB modele").Copy After:=Worksheets(nbfeuilles) 'on copie le FAB Modele
    With ActiveSheet
        .Name = NumNewDoc 'on lui donne le nom avec N° de doc
        .Range("H3") = NumNewDoc 'qu'on réécrit en H3
        .Range("B3") = NomRecette 'et nom de la recette en B3
    End With
   
   
'création du lien hypertexte
With Sheets("Repertoire")
    .Activate
    .Range("A" & Rows.Count).End(xlUp).Select
    .Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        NumNewDoc & "!A1", TextToDisplay:=NumNewDoc
End With
Application.ScreenUpdating = True
Sheets("Page de garde").Activate
End Sub
 

czac

XLDnaute Occasionnel
j'ai fait quelques tests, jusqu'à la fiche 2 ca a fonctionné. La fiche que je nomme recette3 me dit qu'elle existe déjà. ensuite la recette 4 ca à buger.

Sur la fiche recette, est-il possible que lorsqu'on sélectionne un ingrédient, la case kg ou unité ce grise ou se bloque en fonction des données que je met au départ.

Dernière chose, sur les allergènes, j'ai poser la question sur un post-it
 

Pièces jointes

  • Fiche recette Rev4.xls
    258.5 KB · Affichages: 63

Discussions similaires

Réponses
4
Affichages
279

Statistiques des forums

Discussions
312 153
Messages
2 085 799
Membres
102 980
dernier inscrit
brossadan