CbPériode et cbConditionnement : liste déroulante reste vide

Bonjour à toutes et à tous,

Pour l'instant, je m'occupe uniquement du budget primitif et des dépenses alimentaires. Pour les autres catégorie et nature article, j'aviserai quand j'aurai reçu une réponse au présent problème. Pour ce qui est de la présentation du formulaire, quand tout fonctionnera correctement, le top de chaque cadre sera ramené au top du budget primitif.

Feuille accueil, clic sur le bouton de commande Crédit budgétaires

le formulaire uf02Crédits budgétaire est chargé : Catégorie : budget primitif des dépenses alimentaires, nature article : dépenses alimentaires, article : n'importe

les cbPériodeBP et ConditionnementBP ne se remplissent pas. J'ai essayé avec un select case cbCatégorie sans succès, j'ai donc tenté avec un cbNatureArticle mais sans résultat. Les select case sont prévus dans le Private Sub UserForm_Activate, Private Sub cbPériode_Change(), Private Sub cbConditionnement_Change(), et Private Sub RécupérationArticlesBudgétaires()

Peut-être cela vient-il des deux procédures actuellement vierges de toute instruction. Je vais tester.

Private Sub RécupérationInfosArticleBudgétaire(ByVal Indice As Long)
With [TabBDArticlesBudgétaires].ListObject
cbPériodeBP.Value = .ListColumns("Période").DataBodyRange(Indice)
End With
End Sub

toujours rien. Peut-être faut-il prévoir un select case (sur quel cb ?)

D'avance merci à celle, à celui qui trouvera une solution.

Bonjour BUDGETS, bonjour à tous

Au lieu de Userform_Activate essaie Initialize.

Ensuite , tu charges tout puisque je vois qu'après , tu joue avec Visible, donc tu n'affiches que ce qui t'intéresse.

Vois si cela améliore :

Private Sub UserForm_Initialize()
'Initialisation du cbCatégorie. Va permettre d'afficher dans le cbCatégorie la liste du contenu de la colonne Catégorie de la feuille Liste de choix, tableau structuré tabCatégorie.
        cbCatégorie.List = Range("TabCatégorie").Value
'Initialisation du cbNatureArticle. Va permettre d'afficher dans le cbNatureArticle la liste du contenu de la colonne Nom catégorie de la feuille Liste de choix, tableau structuré TabNomCatégorie.
        cbNatureArticle.List = Range("TabNomCatégorie").Value
    'Initialisation du tbDateCréationBP. Va remplir automatiquement le tbDateCréationBP.
        tbDateCréationBP = Format(Date, "dddd d mmmm yyyy")
    'Initialisation du tbDateCréationDM1. Va remplir automatiquement le tbDateCréationDM1.
        tbDateCréationDM1 = Format(Date, "dddd d mmmm yyyy")
    'Initialisation du tbDateCréationDM2. Va remplir automatiquement le tbDateCréationDM2.
        tbDateCréationDM2 = Format(Date, "dddd d mmmm yyyy")
    'Initialisation du tbDateCréationBM. Va remplir automatiquement le tbDateCréationBM.
        tbDateCréationBM = Format(Date, "dddd d mmmm yyyy")
    'Initialisation du cbPériodeBP. Va permettre d'afficher dans le cbPériodeBP la liste du contenu de la colonne Nom période de la feuille Liste de choix, tableau structuré TabPériode.
                            cbPériodeBP.List = Range("TabPériode").Value
    'Initialisation du cbPériodeDM1. Va permettre d'afficher dans le cbPériodeDM1 la liste du contenu de la colonne Nom période de la feuille Liste de choix, tableau structuré
                            cbPériodeDM1.List = Range("TabPériode").Value
    'Initialisation du cbPériodeDM2. Va permettre d'afficher dans le cbPériodeDM2 la liste du contenu de la colonne Nom période de la feuille Liste de choix, tableau structuré TabPériode.
                            cbPériodeDM2.List = Range("TabPériode").Value
    'Initialisation du cbPériodeBM. Va permettre d'afficher dans le cbPériodebm la liste du contenu de la colonne Nom période de la feuille Liste de choix, tableau structuré TabPériode.
                            cbPériodeBM.List = Range("TabPériode").Value
    'Initialisation du cbConditionnementBP. Va permettre d'afficher dans le cbConditionnementBP la liste du contenu de la colonne Nom Conditionnement de la feuille Liste de choix, tableau structuré
    'TabConditionnement.
                            cbConditionnementBP.List = Range("TabConditionnement").Value
    'Initialisation du cbConditionnementDM1. Va permettre d'afficher dans le cbConditionnementDM1 la liste du contenu de la colonne Nom Conditionnement de la feuille Liste de choix, tableau structuré
    'TabConditionnement.
                            cbConditionnementDM1.List = Range("TabConditionnement").Value
    'Initialisation du cbConditionnementDM2. Va permettre d'afficher dans le cbConditionnementDM2 la liste du contenu de la colonne Nom Conditionnement de la feuille Liste de choix, tableau structuré
    'TabConditionnement.
                            cbConditionnementDM2.List = Range("TabConditionnement").Value
    'Initialisation du cbConditionnementBM. Va permettre d'afficher dans le cbConditionnementbm la liste du contenu de la colonne Nom Conditionnement de la feuille Liste de choix, tableau structuré
    'TabConditionnement.
                            cbConditionnementBM.List = Range("TabConditionnement").Value

    End Sub

Bonne soirée

Bonsoir Patty5046,

Avec Initialize, le problème n'est pas résolu.

Bonsoir

Chez moi, tes listes sont remplies.

Donc si le problème n'est pas résolu, quel problème ??

Je me suis peut-être mal expliqué. Après avoir effectué les manipulations énoncées dans mon premier message, il devrait aller dans récupérationinfosarticlebudgétaire : dans cette procédure, il devrait aller dans le tableau structuré TabBDArticlesBudgétaires et récupérer, pour l'article Agneau (par exemple), le contenu des colonnes Période et Conditionnement, soit Selon menu et 1 tranche pour 1 repas (Viandes midi weekend). Dans ladite procédure, peut-être serait-il utile de prévoir un ou deux select case (l'un sur cbCatégorie, l'autre soit sur cbNatureArticle soit sur cbArticle).

Bonjour,

Si j'ai bien compris!

Pour simplifier les choses, dans le tableau "TabBDArticlesBudgétaires", j'ai crée un sous tableau nommé"TabBDArticlesBudgétaires2" qui englobe la plage "E3:L440"

puis dans le code "Private Sub cbArticle_Change()", j'ai ajouté ces quelques lignes:

    tbCodeArticle.Value = Application.WorksheetFunction.VLookup(cbArticle.Value, Range("TabBDArticlesBudgétaires2"), 2, 0) 'code article
    cbPériodeBP.Value = Application.WorksheetFunction.VLookup(cbArticle.Value, Range("TabBDArticlesBudgétaires2"), 3, 0) 'période
    tbCodePériodeBP.Value = Application.WorksheetFunction.VLookup(cbArticle.Value, Range("TabBDArticlesBudgétaires2"), 4, 0) 'code période
    cbConditionnementBP.Value = Application.WorksheetFunction.VLookup(cbArticle.Value, Range("TabBDArticlesBudgétaires2"), 5, 0) 'conditionnement
    tbCodeConditionnementBP.Value = Application.WorksheetFunction.VLookup(cbArticle.Value, Range("TabBDArticlesBudgétaires2"), 6, 0) 'période conditionnement
Cdlt

Bonjour Arturo83,

Toujours aussi rapide et efficace pour aboutir au résultat escompté.

Comment faites-vous pour créer le sous-tableau et comment fait-on pour le voir ?

Les procédures Private Sub RécupérationArticlesBudgétaires(), Private Function IndiceArticleBudgétaire(ByVal Catégorie As String) As Long, Private Sub RécupérationInfosArticleBudgétaire(ByVal Indice As Long) doivent-elles être conservées ? Si oui, merci de me proposer les instructions nécessaires pour les deux dernières procédures car je n'arrive pas à trouver les bonnes parmi tous mes modèles de fichiers dans lesquels figurent ces procédures.

D'avance merci pour vos réponses.

Pour créer le tableau,

Balayez la plage "E3:L440", puis dans la zone de nom, saisissez le nom du tableau "TabBDArticlesBudgétaires2" dans la zone de nom, validez avec la touche "ENTREE"

Pour le voir, allez dans la zone de nom et cliquez sur le nom du tableau "TabBDArticlesBudgétaires2"

En ce qui concerne les procédures, peut-être que vous en aurez besoin par la suite, donc ne les supprimez pas, elles ne gênent pas le fonctionnement du code, vous pourriez même vous en inspirer pour des étapes futures?

Cdlt

Re,

Dans le fichier que vous avez joint, quand je vais dans nom du tableau, seul celui que j'ai créé apparaît, le votre n'est pas mentionné même en sélectionnant les cellules E3:L440

Avez-vous penser à étirer la zone de nom vers la droite?

budgets

Non, je ne sais pas comment faire. J'ai regardé votre vidéo mais je n'arrive pas à la reproduire.

La vidéo n'est-elle pas assez explicite? On sélectionne le bord droit de la zone de nom et lorsque le pointeur de la souris change de forme on étire vers la droite jusqu'à ce l'on puisse voir les noms en entier.

Désolé, mais le pointeur de ma souris ne change pas : j'ai pointé à droite, en haut, en bas mais pas de changement.

Pour la création du TabBDArticlesBudgétaires2;, dans formules, gestionnaire de nom, le tabBDArticlesBudgétaires disparaît. Pour sa création, Insertion, tableau ne fonctionne pas ! Dans le fichier d'Arturo83, les deux tab existent bien dans formules, gestionnaire de nom. Si vous reprenez mon fichier joint au prmier message de ce fil, vous devriez pouvoir constater la véracité de mes allégations.

Pourtant sur la vidéo, c'est bien visible, mais au moins est-ce que l'appli fonctionne telle que je l'ai transmise?

Bonjour à tous

C'est pourtant clair ce que te dit Arturo

Si tu as bien repris son fichier, tu te positionnes sur la feuille BD articles budgétaires

Tu vois en haut à gauche la zone de nom. Juste à droite de cette zone, il y a trois petits points verticaux.

Quand tu positionnes ta souris dessus, le curseur change et là tu tires vers la droite por allonger la zone de nom.

Bonjour Patty5046,

Désolé, mais je n'ai pas les trois points verticaux. J'ai essayé de créer un tableau dans un fichier vierge : pas de problème. J'ai essayé, à partir de ce tableau, de créer un autre tableau, a)nom du tableau : pas de points verticaux, b)le premier tableau disparaît. Sauf erreur ou omission de ma part, il semblerait (à confirmer) que TabBDArticlesBudgétaires ne soit plus utilisé dans la feuille code et qu'il a été remplacé par TabBDArticlesBudgétaires2. Dans la vidéo d'Arturo83, effectivement les trois points verticaux sont bien visibles. Donc merci de m'indiquer, aussi détaillé que possible, les manœuvres à effectuer, afin de modifier les paramètres dont le résultat sera la visibilité des trois points verticaux et la non disparition du tableau structuré dans formules, gestionnaire de nom. Autre possibilité : Excel a été amélioré et permet de voir tout ce que vous me dites à un détail près : vous utilisez une version d'Excel plus récente que la mienne (2010) qui est incompatible avec la mienne ou vous travaillez sur Office365. Arturo83 a parlé d'un sous-tableau : dans l'aide, en vba, je n'ai rien trouvé concernant ce terme.

A droite de cette zone nom, mais en dehors.

J'ai téléchargé le fichier d'Arturo, j'ai ces trois petits points, donc tu dois aussi les avoir.

Eventuellement, prend une loupe, car ils sont légèrement grisés sur fond gris

Peut-être faudrait-il, si cela est possible et que cela fonctionne chez moi, agrandir le ruban.

Bonjour,

Je vous remets une vidéo ou l'on peut voir dans un premier temps où je sélectionne le tableau en entier "TabBDArticlesBudgétaires", puis en suite le sous tableau "TabBDArticlesBudgétaires2", pour que vous puissiez voir la différence.
budgets 2
Cdlt

Bonjour Arturo83,

Sur votre dernière vidéo, les trois points verticaux ne sont pas visibles.

Sous votre pseudo, il est indiqué Excel 2007/2021 : 2007, je n'ai plus cette version; 2021 : je ne l'ai pas. Donc, j'en déduis que la possibilité d'étirer à l'aide des trois points verticaux et que les deux tableaux soient mentionnés dans formules, gestion des noms ont été introduits dans des versions supérieures à 2010.

Rechercher des sujets similaires à "cbperiode cbconditionnement liste deroulante reste vide"