Erreur définie par l'application ou par l'objet

Bonjour à toutes et à tous,

Feuille Accueil : clic sur le bouton de commande Créer crédits budgétaires BP : dans le formulaire concerné, Date : celle d'aujourd'hui, Catégorie : Budget primitif dépenses alimentaires, article : agneau. À partir de là, j'ai le message d'erreur signalée dans Titre du sujet.

L'erreur se trouverait sur cette ligne :

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))"

D'avance merci à celle (celles), à celui (à ceux) qui pourront m'aider à régler ce problème.

Bonnes fin de journée et continuation à toutes et à tous. Prenez bien soin de vous.

Très cordialement et chaleureusement.

Bonjour BUDGETS,

Un proposition de chatGPT,

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

Bizz

Bonjour Bizarre,

Merci pour ta proposition. J'ai fait un copier-coller de ta proposition et j'ai testé. Je n'ai plus d'erreur mais le cbPériodeArticle ne se remplit pas.

Bonjour à tous,

le cbPériodeArticle ne se remplit pas.

Bah c'est normal, vous n'avez aucun code pour le faire !

Bonjour BeGood,

Dans ce cas, expliquez-moi à quoi sert la proposition faite par Bizarre. Autres choses; dans une procédure, il est indiqué un appel à PrédéfinitionsPériode, puisl la procédure cbpériodeArticle_Change est codifiée. Ceci dit, dites-moi s'il vous plaît où devrait-il avoir un code (nom procédure et les instructions nécessaires) en sachant que le but recherché est de remplir le cbPériodeArticle en allant chercher l'information dans le tableau structuré TabBDArticlesBudgétaires (colonne Article ou colonne Code article) pour la recopier dans la cbPériodeArticle du formulaire UF02CréerCréditsBudgétairesBP ?

Désolé, je n'ai aucun message sur le forum à 13 h30 malgré ce qu'indique ma boîte de réception. Je ne sais donc pas qui me l'a envoyé.

Bonjour à tous,

Dans ce cas, expliquez-moi à quoi sert la proposition faite par Bizarre

La jolie proposition de Bizarre n'est que la correction du code erroné que vous avez transmis, qui n'est probablement pas de vous , que vous avez mal recopié et dont manifestement vous ignorez la finalité. Il est parfaitement inutile pour remplir le cbPériodeArticle. Ou voyez vous une instruction du style cbPériodeArticle = ?

Regardez ce fichier. Il y a bien une procédure cbPériodeArticle_Change.

Re,

Regardez ce fichier. Il y a bien une procédure cbPériodeArticle_Change.

Oui, et alors ?

La proposition de Bizarre fait suite à des instructions transmises par message privé par Arturo83 (que je n'ai pas d'ailleurs testées) qui consistait à aller chercher dans un tableau structuré d'une feuille le contenu d'une colonne nommée total BP pour le recopier dans un tbTotalBP d'un second formulaire CréerCréditsBudgétairesDM1. En partant de ce principe, j'ai pensé que cela était possible pour une période.

Les instructions d'Arturo83.

Sub Formule_TotalBP_TabBDCréditsBudgétairesDM1()
    Dim f4 As Worksheet, f5 As Worksheet
    Dim Tabl_f4 As String, Tabl_f5 As String
    Dim DerLig_f5 As Long
    Application.ScreenUpdating = False
    Set f4 = Sheets("BD budgets primitifs")
    Set f5 = Sheets("BD Budgets DM1")
    Tabl_f4 = "TabBDBudgetsPrimitifs"
    Tabl_f5 = "TabBDCréditsBudgétairesDM1"
    DerLig_f5 = Range("TabBDCréditsBudgétairesDM1").ListObject.ListRows.Count + 3
    f5.Range("K4").FormulaR1C1 = "=INDEX(" & Tabl_f4 & "[#All],MATCH(" & Tabl_f4 & "[@[Code article]]," & Tabl_f4 & "[[#All],[Code article]],0),MATCH(" & Tabl_f5 & "[[#Headers],[Total BP]]," & Tabl_f4 & "[#Headers],0))"
    f5.Range("K4:K" & DerLig_f5).Value = f5.Range("K4:K" & DerLig_f5).Value
End Sub

Il ne vous reste qu'à appeler cette macro à la fin de la macro "cmdValidation_Click"

Re,

Alors dans le code fourni ou voyez-vous que cela recopie le contenu voulu dans le tbTotalBP ?

Je n'en sais rien. Il faudrait demander à Arturo83. Peut-être, grâce à cette ligne :

f5.Range("K4:K" & DerLig_f5).Value = f5.Range("K4:K" & DerLig_f5).Value

Re,

On résume

Vous récupérez un code qui n'est pas prévu pour faire ce que vous souhaitez et que vous n'avez pas testé

Vous le modifiez en faisant des erreurs

Vous postez sur le forum en disant j'ai des erreurs

On vous corrige ces erreurs

Vous postez à nouveau en disant ça ne fonctionne toujours pas sans avoir dit auparavant ce que vous vouliez exactement

Et quand on vous dit que ce n'est pas prévu pour, vous vous étonnez

Vous espérez quoi maintenant ?

Une piste peut-être : de mémoire, votre fichier précédent, celui avant que vous ne décidiez de tout reprendre à zéro, fonctionnait bien pour cette partie de cbPériodeArticle

Alors à vous de jouer ...

Bonjour BeGood,

J'ai créé un nouveau fil : Le CBPériodeArticle ne se remplit pas.

J'ai donné des explications, des manipulations à faire. J'espère que cela va enfin vous convenir et vous permettre de me proposer une solution. Vous pourrez faire comme Bizarre et me dire, éventuellement, que vos compétences, vos connaissances ne vous permettent pas de satisfaire ma demande.

Bonnes journée et continuation. Prenez bien soin de vous.

Bien cordialement.

Rechercher des sujets similaires à "erreur definie application objet"