Feuille propositions menus midi retrait : créer une macro pour les sauts de

Re,

D'autre part, il y a une erreur dans votre fichier :

Oui petit bug... Mais si vous voulez avancer il faut tenter de comprendre...

Dans la procédure CreateDataValidation commentez la condition qui est en bas de la procédure :

Public Sub CreateDataValidation()
    ' // Feuille de travail
    Dim itemsheet As Excel.Worksheet
    Set itemsheet = Factory.GetListObject(ListName:=GlobalConsts.MENUS_GENERATED_SHEET_NAME)

    If Not itemsheet Is Nothing Then                        ' // Teste si la feuille cible est présente.
        Dim table As Excel.ListObject
        Set table = Factory.InitTabFoods                    ' // Initialisation de la table Aliments
        If Not table Is Nothing Then

            Dim tabTemp
            tabTemp = getUniqueSorted(table.ListColumns(2).DataBodyRange) ' // Récupère les valeurs uniques

            Dim rangeForUniqueSorted As Range
            Set rangeForUniqueSorted = sys_MenusGenerated.Range("AA6").Resize(UBound(tabTemp) - LBound(tabTemp) + 1, 1) ' // Plage en dehor du tableau
            rangeForUniqueSorted.Value = Application.Transpose(tabTemp)

            On Error Resume Next
            ThisWorkbook.Names("vr_GroupUniqueSorted").Delete
            On Error GoTo 0

            ThisWorkbook.Names.Add Name:="vr_GroupUniqueSorted", RefersTo:="='Menus générés'!" & rangeForUniqueSorted.Address

            Dim table1 As Excel.ListObject
            Set table1 = sys_MenusGenerated.Range("vt_MenusGénérés").ListObject
            With table1
                Dim headerName As Variant
                For Each headerName In VBA.Array("Sélection 1", "Sélection 2", "Sélection 3", "Sélection 4", "Sélection 5")
                    Dim itemRange As Excel.Range
                    Set itemRange = .HeaderRowRange.Cells(1, .ListColumns(headerName).index).Offset(-2, 0)

                    itemRange.Validation.Delete
                    itemRange.Validation.Add Type:=xlValidateList, Formula1:="=vr_GroupUniqueSorted"

                Next headerName
            End With
            Else
' TODO "Commentez la ligne suivante elle ne vous sert pas."
'            If DebugMode = True Then Debug.Print "la feuille " & GlobalConsts.MENUS_GENERATED_SHEET_NAME & " est introuvable dans ce classeur !"

        End If
    End If
End Sub

Arr : erreur 2015. De quelle erreur il s'agit ? Désolé, j'ai repris ce que BsAlv m'a proposé et qui fonctionne dans son fichier et pas dans le mien. J'ai relu et relu, pour moi, je n'ai fait aucune faute de frappe ni syntaxe.

re, salut Jean-Paul,

votre fichier avec l'ancienne macro mais je l'ai modifié comme dans mon fichier de hier. Par exemple "iStep" n'était pas calculé, il y a 3 gestions d'erreur (pour iPages, iMax et i) et il y a un éspace en trop dans "Arr = Evaluate(Replace("if(A1:A#=""Numéro du menu"",row(A1:A#),1e7)", "#", IMax))". Pour iMax, on prend toute la colonne A au lieu d'un nombre fixe 535(?), parce qu'on ne sait pas le nombre actuel, donc on prend une plage assez éxagérée.

15menus-2.xlsm (250.73 Ko)

Bonsoir BsAlv,

Nouvelle erreur sur cette ligne quand on exécute la macro M_Print1 : erreur définie par l'application ou l'objet.

If Ligne < Rows.Count Then .HPageBreaks.Add before:=.Cells(Ligne - 1, "A") Else Exit For

VOUS VOUS MOQUEZ DE MOI !!!!

je vous donne un nouveau fichier à 19:42 (avec une description courte des modifications) ... et vous montrez une erreur de l'ancien fichier, un peu de serieux

Non, je ne me moque pas de vous mais je voudrais savoir les erreurs que j'ai commises dans mon fichier initial.

ceci est une perte de temps, mon poste de hier soir était votre fichier avec les modifications que j'ai mentionné dans ce poste.

Surtout, c'était la ligne "IStep = WorksheetFunction.Ceiling_Math(I / iPages, 1) 'calculer nombre de menu par page" qui manquait et sans cela, istep qu'on utilise dans For I = IStep + 1 To 1000 Step IStep est faux.

J'ai dit 2 fois d'oublier la version précédente et de continuer avec la nouvelle, donc ... comparer ma version de 19:42 avec la version précédente

Bonjour BsAlv,

OK; je verrai cela demain car aujourd'hui je ne vais avoir de temps disponible pour étudier les deux versions.

si je me rappèle bien ...

Merci de me répondre rapidement car j'ai besoin de la réponse afin de pouvoir traiter les deux autres feuilles propositions.

Oui mais aujourd'hui, j'avais trois rendez-vous médicaux à trois endroits différents à honorer. Désolé si ma précédente réponse ne t'a pas satisfait. Maintenant, je passe ma soirée à regarder mes différents feuilletons et séries.

bottomline : ne demandez pas à un bénévole de se dépêcher si vous ne le faites pas vous-même, vous aviez la réponse déjà quelque jours ... .

J'ai dit 2 fois d'oublier la version précédente et de continuer avec la nouvelle, donc ... comparer ma version de 19:42 avec la version précédente

La version précédente, c'est celle de mon fichier ?

pfffffffff, je perds mon temps, prenez n'importe lequel ...

Bonjour BsAlv,

Ce n'est vraiment pas une réponse amicale.

oui, confirmation, on perd du temps, vous commencez à comparer les 2 versions ou on commence une discussion sur le sexe des anges ?

Je veux bien commencer à comparer les deux versions, je demande juste, à part la votre, parmi les miennes, laquelle dois-je prendre ?

Rechercher des sujets similaires à "feuille propositions menus midi retrait creer macro sauts"