Générer budget primitif dépenses alimentaires ne s'exécute pas

Bonsoir à toutes et à tous,

clic sur la feuille BD budgets primitifs : cellule V1 : clic sur le bouton de commande Générer budget primitif dépenses alimentaires : le tableau ne se remplit pas.

D'avance merci à celle, à celui qui va pouvoir m'aider à résoudre ce problème.

Bonjour,

SI j'ai bien compris, remplacez le code de la feuille "MGenererBudgets" par celui-ci:

Sub GénérerBudgetPrimitifDépensesAlimentaires()
    Dim I As Long, J As Integer, DerLig As Long
    Application.ScreenUpdating = False

    'Si c'est un budget primitif dépenses alimentaires.
    DerLig = Sheets("BD budgets primitifs").ListObjects("TabBDCréditsBudgétaires").DataBodyRange.Rows.Count
    For I = 1 To DerLig
        If Range("TabBDCréditsBudgétaires[Nature article]").Item(I) = "Budget primitif dépenses alimentaires" Then
            'Ajouter une ligne dans le tableau structuré TabBudgetPrimitifDépensesAlimentaires et récupérer son indice (J).
            Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Add
            J = Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Count
            'Insérer les données du tableau structuré TabBDCréditsBudgétaires (indice I) dans la tableau structuré TabBudgetPrimitifDépenses alimentaires (indice J).
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Catégorie]").Item(J) = Range("TabBDCréditsBudgétaires[Catégorie]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Nature article]").Item(J) = Range("TabBDCréditsBudgétaires[Nature article]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Article]").Item(J) = Range("TabBDCréditsBudgétaires[Article]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Total BP]").Item(J) = Range("TabBDCréditsBudgétaires[Total BP]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Date création]").Item(J) = Range("TabBDCréditsBudgétaires[Date création]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Numéro création]").Item(J) = Range("TabBDCréditsBudgétaires[Numéro création]").Item(I)
        End If
    Next I
End Sub

Cdlt

Bonsoir Arturo83

Merci pour la proposition faite. Un seul regret : que je n'ai pas été averti de l'arrivée de votre message ! Ce n'est pas, hélas, la première fois que cela se produit.

Lundi 05 février 2024 : j'ai modifié manuellement ma procédure et corrigé les erreurs de frappe et cela a donné le résultat souhaité. Merci Arturo83. Pour ce qui est des autres items du tableau structuré TabCatégorie de la feuille Liste de choix, comment cela doit-il être codé (une procédure pour chaque item, ou dans le module MGénérerBudgets, procédure GénérerBudgetPrimitifDépensesAlimentaires : modifier le nom de la procédure, utiliser un select case, une case pour chaque item. D'avance merci pour vos suggestions.

Feuille BD budgets primitifs : clic sur le bouton de commande Effacer Tab bd budget primitif dépenses alimentaires : message d'erreur : La méthode Delete de la classe Range a échoué. La procédure suivante serait à l'origine de l'erreur, partie colorée en bleu : problème résolu (j'ai retrouvé un des vos messages qui concernait déjà cette erreur).

Sub PurgerTabBDBudgetPrimitifDépensesAlimentaires()
Dim I As Long
'Supprimer les données du tableau TabBDBudgetPrimitifDépensesAkimentaires
If Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Count > 0 Then Range("TabBDBudgetPrimitifDépensesAlimentaires").EntireRow.Delete
End Sub

D'avance merci pour l'aide que vous pourrez m'apporter pour résoudre ce problème.

Bonjour,

Pour l'effacement, remplacez le code par celui-ci:

Sub PurgerTabBDBudgetPrimitifDépensesAlimentaires()
Dim I As Long, NbLig As Long
'Supprimer les données du tableau TabBDBudgetPrimitifDépensesAkimentaires
    NbLig = Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Count
    If NbLig > 0 Then
        For I = NbLig To 1 Step -1
            Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows(1).Delete
        Next I
    End If
End Sub

Cdlt

Bonjour Arturo83,

Merci. Je vais essayer en fin de matinée ou cette après-midi. Là, je me préparer pour aller à mon rendez-vous semestriel de consultation de mon m&decin généraliste.

Je ne comprends pas, mais le Générer BudgetPrimitifDépensesAlimentaires ne fonctionne plus.

Bonsoir,

Il y a erreur sur cette ligne:

If Range("TabBDCréditsBudgétaires[Nature article]").Item(I) = "Budget primitif dépenses alimentaires" Then

ce doit être:

If Range("TabBDCréditsBudgétaires[Catégorie]").Item(I) = "Budget primitif dépenses alimentaires" Then

Cdlt

Bonsoir Arturo83,

Merci, cela fonctionne maintenant.

Merci de regarder le fil Argument ou appel de procédure incorrect, outre ce problème, il y a également un autre problème et des questions concernant la possible nouvelle présentation du programme.

Regarder la feuille BD Budgets primitifs, à partir de la colonne Q : pourquoi ces répétitions ?

Autre problème : procédure cmdValidationBP_Click : il est prévu qu'il aille directement dans la procédure GénérerBudgetPrimitifDépensesAlimentaires, ce qu'il ne fait pas( à moins qu'il y ait des répétions involontaires d'instructions)

Bonjour,

Regarder la feuille BD Budgets primitifs, à partir de la colonne Q : pourquoi ces répétitions ?

Parce qu'il manque la réinitialisation du tableau, il suffit d'ajouter la ligne suivante éEffacerTabBDBudgetPrimitifDépensesAlimentaires" au début de la macro "GénérerBudgetPrimitifDépensesAlimentaires" comme ci-dessous:

Sub GénérerBudgetPrimitifDépensesAlimentaires()
    Dim I As Long, J As Integer, DerLig As Long
    Application.ScreenUpdating = False
    EffacerTabBDBudgetPrimitifDépensesAlimentaires
'Si c'est un budget primitif dépenses alimentaires.
    DerLig = Sheets("BD budgets primitifs").ListObjects("TabBDCréditsBudgétaires").DataBodyRange.Rows.Count
    For I = 1 To DerLig
        If Range("TabBDCréditsBudgétaires[Catégorie]").Item(I) = "Budget primitif dépenses alimentaires" Then
            'Ajouter une ligne dans le tableau structuré TabBudgetPrimitifDépensesAlimentaires et récupérer son indice (J).
            Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Add
            J = Range("TabBDBudgetPrimitifDépensesAlimentaires").ListObject.ListRows.Count
            'Insérer les données du tableau structuré TabBDCréditsBudgétaires (indice I) dans la tableau structuré TabBudgetPrimitifDépenses alimentaires (indice J).
             Range("TabBDBudgetPrimitifDépensesAlimentaires[Catégorie]").Item(J) = Range("TabBDCréditsBudgétaires[Catégorie]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Nature article]").Item(J) = Range("TabBDCréditsBudgétaires[Nature article]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Article]").Item(J) = Range("TabBDCréditsBudgétaires[Article]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Total BP]").Item(J) = Range("TabBDCréditsBudgétaires[Total BP]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Date création]").Item(J) = Range("TabBDCréditsBudgétaires[Date création]").Item(I)
            Range("TabBDBudgetPrimitifDépensesAlimentaires[Numéro création]").Item(J) = Range("TabBDCréditsBudgétaires[Numéro création]").Item(I)
        End If
    Next I
    Application.ScreenUpdating = True
End Sub

*********************************************************************************************************************

Autre problème : procédure cmdValidationBP_Click : il est prévu qu'il aille directement dans la procédure GénérerBudgetPrimitifDépensesAlimentaires, ce qu'il ne fait pas( à moins qu'il y ait des répétions involontaires d'instructions)

Apparemment si, en faisant du pas à pas tout se déroule correctement.

Cdlt

Désolé, chez moi, cela ne fonctionne pas : Normalement, à la création d'un article, je clique sur validation et, à ce moment-là je devrais un message comme quoi les données vont être supprimées (module MAffichageEffacementMasquage, procédure Sub EffacerTabBDBudgetPrimitifDépensesAlimentaires()) puis, à partir de cette procédure, aller dans la procédure Sub PurgerTabBDBudgetPrimitifDépensesAlimentaires()). Dans la procédure Private Sub cmdValidationBP_Click(), il est prévu cette instruction :

If cbCatégorie = "Budget primitif dépenses alimentaires" Then
Call GénérerBudgetPrimitifDépensesAlimentaires

Dans le fichier MENUS 2024, c'est ainsi que cela se passe, autant que je m'en souvienne.

De plus, il rementionne plusieurs fois de suite Agneau, Ananas, Yaourt dessert; Yaourt matin.

Je ne comprends pas, chez moi ça marche bien, je vous retourne le fichier et dites-moi ce qui ne va pas

Feuille Accueil, clic sur le bouton de commande Crédits budgétaires

Le formulaire UF02CréditsBudgétaires se charge : Catégorie : dans la liste déroulante clic sur Budget primitif dépenses alimentaires

Nature article : dans la liste déroulante, clic sur Dépenses alimentaires

Article : dans la liste déroulante, clic sur Asperges

Prix unitaire : taper 1,50

Quantité : taper 36,00

Les cb et tb qui suivent se remplissent automatiquement

Clic sur le bouton Validation.

À ce moment-là, il doit aller dans GénérerBudgetPrimitifDépenesAlimentaires : par rapport à MENUS 2024, je devrais avoir le message Les données vont être supprimées, je devrais accepter en cliquant sur Oui et il devra, éventuellement, renuméroter et trier et alors on revient, autant que je men souvienne, au début du formulaire. Je peux vous renvoyer le fichier MENUS 2024 : vous supprimez un menu de telle date, vous le recréez avec les même mentions (ou pas) et vous validez, vous verrez ce qui se passe. Comme je suis honnête et franc, je viens de tester mon fichier MENUS 2024 et cela se passe exactement de la manière dont je viens de vous l'écrire.

Comprends pas ce qui ne va pas, voici une vidéo où je fais toutes les manoeuvres, le résultat n'est-il pas correct?

budgets

D'après votre vidéo, c'est exactement ce que je veux. Chez moi, cela ne se produit pas en ce qui concerne la suppression des données. Toujours d'après votre vidéo, pourquoi le même article se répète si souvent dans le tableau structuré TabBDCréditsBudgétaires et, par la génération de GénérerBudgetPrimitifDépensesAlimentaires, également puisqu'il prend les informations dans le tableau structuré TabBDCréditsBudgétaires ?

Pour Menus 2024, cela fonctionne, donc la version d'Excel ne semble pas en être la cause. Peut-être avez-vous procéder à une quelconque modification que vous avez omis involontairement ou omis sciemment de me communiquer afin que je trouve moi-même l'erreur que j'ai pu involontairement commettre. Autre explication possible : il y a un paramétrage qui existe chez vous, qui existe chez moi dans MENUS 2024 mais qui est absent dans mon fichier BUDGETS.

Il semblerait, d'après mes tests, que vous ne travaillez pas sur le même fichier que moi. le fichier Budgets-forum Excel pratique ne répond pas du tout à mes attentes. Le fichier budgets-forum Excel pratique (3), quant à lui, répond parfaitement à mes attentes. Je suis en train d'imprimer le second fichier pour le comparer au premiers fichier qui ne me donne pas satisfaction et je verrai ainsi les éventuelles discordances.

pourquoi le même article se répète si souvent dans le tableau structuré TabBDCréditsBudgétaires

Parce que j'ai fait plusieurs essais avec le même article et comme je valide à chaque fois, cela vient s'ajouter à la suite. Il est possible aussi que je ne fasse pas les bonnes actions.

Regardez mon dernier message que je viens d'envoyer (vers 19h40, complément du message de 15h10)

À partir de la procédure cmdValidation_Click, le tri se fait bien dans le tableau structuré TabBDCréditsBudgétaires; par contre, dans le tableau structuré TabBDBudgetPrimitifDépensesAlimentaires, le tri ne se fait pas. Je clique sur le bouton de commande de la cellule V1, et là le tri se fait bien.

Le fil cet article existe déjà a été mis comme étant solutionné.

Rechercher des sujets similaires à "generer budget primitif depenses alimentaires execute pas"