Le cbPériodeArticle ne se remplit pas

Bonjour à toutes et à tous,

Feuille accueil : clic sur le bouton de commande Créer crédits budgétaires BP;

Formulaire uf02CréerCréditsBudgétairesBP : catégorie : Budget primitif dépenses alimentaires; Article : Agneau; Date création : 18 juin 2024.

Mon but : que le programme aille dans la feuille BD articles budgétaires, tableau structuré TabBDArticlesBudgétaires : là, selon la catégorie et selon article, qu'il prenne le contenu de la colonne G (Période) afin de remplir la cbPériodeArticle du formulaire UF02CréerCréditsBudgétairesBP. Les instructions suivantes ont eu pour conséquence de sortir l'erreur : erreur définie par l'application ou par l'objet :

Private Sub PrédéfinitionsPériode()
Application.ScreenUpdating = False
Set F4 = Sheets("BD articles budgétaires")
Set F5 = Sheets("Bd crédits budgétaires")
Tab1_F4 = "TabBDArticlesBudgétaires"
Tab1_F5 = "TabBDCréditsBudgétaires"
DerLig_F5 = Range("TabBDCréditsBudgétaires").ListObject.ListRows.Count + 3
F5.Range("E4").FormulaR1C1 = "=index(" & Tab1_F4 & "[#All],match(" & Tab1_F4 & "[@[Code article]]," & Tab1_F4 & "[[#All],[Code article]],0),match (" & Tab1_F5 & "[[#headers], [Période]]," & Tab1_F4 & "[#headers],0))"
F5.Range("e4:e" & DerLig_F5).Value = F5.Range("e4:e" & DerLig_F5).Value
End Sub

J'ai modifié ce qui devait l'être afin que cela corresponde à mes feuilles.

Les instructions suivantes ont eu pour effet de supprimer l'erreur signalée ci-dessus mais le cbPériodeArticle ne se remplit pas.

Private Sub PrédéfinitionsPériode()
On Error GoTo ErrorHandler

Application.ScreenUpdating = False

Dim wsArticles As Worksheet
Dim wsCredits As Worksheet
Dim tableArticles As String
Dim tableCredits As String
Dim lastRowCredits As Long

' Set worksheet references
Set wsArticles = Sheets("BD articles budgétaires")
Set wsCredits = Sheets("BD Crédits budgétaires")

' Table names
tableArticles = "TabBDArticlesBudgétaires"
tableCredits = "TabBDCréditsBudgétaires"

' Find the last row in the Credits table
lastRowCredits = wsCredits.ListObjects(tableCredits).ListRows.Count + 3

' Set the formula in the first cell
wsCredits.Range("E5").Formula = "=INDEX(" & tableArticles & ", MATCH([@[Code article]], " & tableArticles & "[[Code article]], 0), MATCH(""Période"", " & tableArticles & "[#Headers], 0))"

' Convert formulas to values
wsCredits.Range("E5:E" & lastRowCredits).Value = wsCredits.Range("E5:E" & lastRowCredits).Value

Cleanup:
' Re-enable screen updating
Application.ScreenUpdating = True

' Release object references
Set wsArticles = Nothing
Set wsCredits = Nothing

Exit Sub

ErrorHandler:
' Handle errors
MsgBox "An error occurred: " & Err.Description, vbCritical
Resume Cleanup
End Sub

Merci de m'aider à résoudre ce problème.

Bonjour,

Ne vous ai-je pas dit que vos procédures étaient inutiles et de prendre modèle dans vos fichiers précédents ? J'ai juste modifié le point objet de votre post.

Bonsoir BeGood,

Désolé, je n'ai rien compris.

1) On m'a toujours fait la guerre car les programmes étaient trop longs. Là, j'essaie de simplifier au maximum et tout le monde m'envoie sur les roses. Faudrait savoir : simplifier ou pas.

2) Que voulez-vous dire par "J'ai juste modifié le point objet de votre post" ?

3) Dans le fichier que vous avez joint, avez-vous apporté des modifications ? Si oui, merci de me signaler lesquelles et dans quelles procédures ?

Bonnes fin de soirée, nuit et continuation. Prenez bien soin de vous.

Bonjour,

Désolé, je n'ai rien compris.

Je confirme effectivement !

Le fichier que je vous ai transmis n'est-il pas plus simple que le votre ?

Votre post dit : Le cbPériodeArticle ne se remplit pas. Qu'en est-il dans le fichier que je vous ai transmis ?


Bonjour BeGood,

1) Il faut que je compare les deux fichiers afin de voir la simplification du vôtre par rapport au mien.

2) Sauf erreur ou omission de ma part, il semblerait qu'il n'y ait aucune procédure pour la validation malgré que certaines informations aient été enregistrées dans la feuille BDCréditBudgétaires, tableau structuré TabBDCréditsBudgétaires.

3) cbPériodeArticle : à la création d'un crédit budgétaire pour un article, il se remplit effectivement.

4) Quelques suggestion : a)Remplacer chaque tableau structuré (Tab DA, TabDB, etc.) de la feuille Liste de choix par un tableau structuré unique qui s'appellerait TabProduits (Voir fichier MENSUV2-1.xlsm, feuille Liste création articles menus, colonnes AW à AZ incluses); b) Quatre formulaires différents ou un seul formulaire ? (je préfère 4); c) Pour la validation, une feuille unique ou quatre feuilles (primitif, DM1, DM2 et BM) ?

14menusv2-1.xlsm (111.29 Ko)

Re,

Décidément vous êtes dur à la compréhension.

Je vous ai juste retourné votre propre fichier corrigé pour que le cbArticle se remplisse, un point c'est tout. Tout le reste est de votre cru.

Quant à la suite c'est les grandes vacances, on verra ça à la rentrée puisque vous n'êtes pas pressé.

Bonnes vacances.

Rechercher des sujets similaires à "cbperiodearticle remplit pas"