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

czac

XLDnaute Occasionnel
je suis justement en mode de calcul automatique. Je comprends pas. Je suis sous excel 2007.
Sinon oui, ca fonctionne :) Yes
En tout cas il a l'air très aboutit. Lundi je commence à créer les fiches. Je reviendrais vers vous pour confirmer le bon fonctionnement ou pas de ce fichier

encore un grand merci pour cet aide.
 

czac

XLDnaute Occasionnel
par contre en supprimant toutes les fiches recettes en test, et en rajoutant une vraie recette, l'onglet répertoire se met plus à jour. Il recopie la ligne 7 avec la liste des allergènes. De se fait, il faut laisser au moins 1 recette test
 

czac

XLDnaute Occasionnel
Hello,

super merci :) l'histoire des allergènes à l'air de fonctionner.
Par contre je comprends pas l'histoire du test pour éviter de supprimer le modèle. J'ai fait un clic droit sur l'onglet modèle et j'ai supprimer sans problème.

Je me suis également rendu compte, que lorsque sur une recette je clic sur ajouter une ligne, les allergènes se mettent plus dans l'onglet répertoire.

franchement le fichier est presque parfait :)
 

vgendron

XLDnaute Barbatruc
Par contre je comprends pas l'histoire du test pour éviter de supprimer le modèle. J'ai fait un clic droit sur l'onglet modèle et j'ai supprimer sans problème.

euh oui. le test c'est pour quand tu cliques sur le bouton rouge "Supprimer la fiche recette" en haut à droite
c'est pour éviter un clic trop vif :)


pour la fonction Concattotal.. le problème vient de l'insertion de la nouvelle ligne..
la formule en G42 ne se met pas à jour. je regarde ca demain
 

vgendron

XLDnaute Barbatruc
Hello!
Voir PJ pour correction
j'en ai profité pour faire le tri dans les différents modules ainsi que codes qui à priori ne servent plus à rien.. Dans le doute, je les ai mis en commentaire

j'ai aussi ajouté des commentaires cà et là pour expliquer les codes
 

Pièces jointes

  • Fiche recette Rev14.xls
    359 KB · Affichages: 49

czac

XLDnaute Occasionnel
hello,

franchement rien à dire, je vais maintenant le mettre en oeuvre. Même plus besoin de faire F9 pour mettre à jour les allergènes dans le répertoire :)
un travail bien pro avec les commentaires

Si dans l'utilisation j'ai un truc, je reviendrais vous en parler

en tout cas un très grand merci.
 

czac

XLDnaute Occasionnel
pour info, j'ai rajouté une partie pour la TVA afin de compléter le fichier. J'espère qu'il pourra servir à d'autres personnes. :)

un grand merci encore
 

Pièces jointes

  • Fiche recette Rev14.xls
    308.5 KB · Affichages: 82

czac

XLDnaute Occasionnel
Bonjour,

je me suis rendu compte en l'utilisant que la partie ingrédient se met pas automatiquement dans l'ordre alphabétique. Effectivement en fermant et en continuant plus tard, cela ne se fait pas. ci-dessous le code:

Sub Trier_ingrédients_AZ()
'
' Trier_ingrédients_AZ Macro
'à adapter niveau ranges
Application.GoTo Reference:="AZingrédients"
ActiveWorkbook.Worksheets("Liste ingrédients").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste ingrédients").Sort.SortFields.Add Key:=Range _
("A7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Liste ingrédients").Sort
.SetRange Range("A7:S25")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 

vgendron

XLDnaute Barbatruc
Hello

Pas sur de saisir le souci..
je suppose que ton problème intervient quand il y a plus de 25 ingrédients... le tri ne se fait que sur les 25 premiers...

c'est à cause de cette ligne-ci:
.SetRange Range("A7:S25")

essaie avec ce code à la place
VB:
Sub Trier_ingrédients_AZ()
'
' Trier_ingrédients_AZ Macro

    Application.GoTo Reference:="AZingrédients"
    ActiveWorkbook.Worksheets("Liste ingrédients").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Liste ingrédients").Sort.SortFields.Add Key:=Range _
        ("A7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Liste ingrédients").Sort
        .SetRange Range("AZingrédients")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 

czac

XLDnaute Occasionnel
super, je vais essayer. Autre chose, lorsque je créer une nouvelle recette, est-il possible que sur le menu, une fois la recette crée et qu'on revient sur le menu, de supprimer dans les case le nom de la recette et le rayon? car aujourd'hui le nom et le rayon ne s'efface pas automatiquement. Ci dessous le code:

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
NumLastDoc = .Range("A" & .Rows.Count).End(xlUp) 'nom du dernier doc présent dans la feuille Repertoire
End With

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

With Sheets("Repertoire")
.Range("A" & .Rows.Count).End(xlUp).Offset(1, 0) = NumNewDoc 'on ecrit le nouveau numéro en fin de liste
.Range("A" & .Rows.Count).End(xlUp).Offset(0, 1) = NomRecette 'on ecrit le nom de la recette à coté en colonne B
.Range("F" & .Range("A" & .Rows.Count).End(xlUp).Row).Resize(1, 14).Formula = "=ListeAllergènes($A" & .Range("A" & .Rows.Count).End(xlUp).Row & ")"
End With

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
Sheets(NumNewDoc).Activate
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Réponses
4
Affichages
238

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510