VBA Feuille Accueil : cellules D5 et D7 restent vides
Résolu BUDGETS Messages postés 1593 Date d'inscription Statut Membre Dernière intervention -
BUDGETS Messages postés 1593 Date d'inscription Statut Membre Dernière intervention - 1 août 2019 à 21:24
BUDGETS Messages postés 1593 Date d'inscription Statut Membre Dernière intervention - 1 août 2019 à 21:24
A voir également:
- VBA Feuille Accueil : cellules D5 et D7 restent vides
- Mettre google en page d'accueil - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Ecran d'accueil iphone - Guide
- Comment supprimer une feuille sur word - Guide
- Bruler feuille de laurier - Guide
10 réponses
Bonjour,
Dans la feuille "Accueil référentiels menus", lorsque vous sélectionnez la combobox en C5,
la combobox "cboModifierRéférentielsMenus" posée au-dessus de D5, se remplit avec la valeur trouvée dans la feuille "Tableau référentiels menus".
idem, toujours dans la feuille "Accueil référentiels menus", lorsque vous sélectionnez la combobox en C7, la combobox "cboSupprimerRéférentielsMenus" posée au-dessus de D7, se remplit avec la valeur trouvée dans la feuille "Tableau référentiels menus".
Vous voulez que ce soient les cellules D5 et D7 qui se remplissent, mais à quel moment dans votre macro vous demandez d'aller écrire dans ces cellules?
Voici la macro complétée (lignes ajoutées en 2, 18, 33, 34):
le fichier
https://mon-partage.fr/f/0WFbEV3c/
Cdlt
Dans la feuille "Accueil référentiels menus", lorsque vous sélectionnez la combobox en C5,
la combobox "cboModifierRéférentielsMenus" posée au-dessus de D5, se remplit avec la valeur trouvée dans la feuille "Tableau référentiels menus".
idem, toujours dans la feuille "Accueil référentiels menus", lorsque vous sélectionnez la combobox en C7, la combobox "cboSupprimerRéférentielsMenus" posée au-dessus de D7, se remplit avec la valeur trouvée dans la feuille "Tableau référentiels menus".
Vous voulez que ce soient les cellules D5 et D7 qui se remplissent, mais à quel moment dans votre macro vous demandez d'aller écrire dans ces cellules?
Voici la macro complétée (lignes ajoutées en 2, 18, 33, 34):
Private Sub Worksheet_Change(ByVal Target As Range) 'Macro évènementielle qui se déclenche automatiquement lors d'un changement dans la feuille "Accueil" Application.EnableEvents = False 'target = cellule qui vient d'être modifiée If Not Intersect(Target, Range("C5")) Is Nothing Then 'si Target=D5 alors 'on efface le combobox juste à coté cboModifierRéférentielsMenus.Clear For Each ele In Application.Range("TabRéfMenus[titre référentiels menus]") 'pour chaque élément de la colonne "Titre référentiel menus" de la table "TabData" If ele = Range("C5") And ele.Offset(0, 14) = "Oui" Then 'si élément = Target et que en colonne "A modifier" = oui cboModifierRéférentielsMenus.AddItem ele.Offset(0, 1) 'on ajoute l'élément dans le combobox cboModifierRéférentielsMenus.List(ActiveSheet.cboModifierRéférentielsMenus.ListCount - 1, 1) = ele.Row 'index ligne de ele End If Next ele If cboModifierRéférentielsMenus.ListCount = 0 Then 'si on n'a rien ajouté ==> le combo est vide cboModifierRéférentielsMenus.AddItem "Pas de référentiels à modifier" 'on met un message End If cboModifierRéférentielsMenus.ListIndex = 0 'on ne sélectionne rien dans le combo End If [D5] = cboModifierRéférentielsMenus.Value If Not Intersect(Target, Range("C7")) Is Nothing Then cboSupprimerRéférentielsMenus.Clear For Each ele In Application.Range("TabRéfMenus[Titre référentiels menus]") If ele = Range("C7") Then cboSupprimerRéférentielsMenus.AddItem ele.Offset(0, -3) cboSupprimerRéférentielsMenus.List(cboSupprimerRéférentielsMenus.ListCount - 1, 1) = ele.Row 'index ligne de ele End If Next ele If cboSupprimerRéférentielsMenus.ListCount = 0 Then cboSupprimerRéférentielsMenus.AddItem "Pas de référentiel à supprimer" End If cboSupprimerRéférentielsMenus.ListIndex = 0 End If [D7] = cboSupprimerRéférentielsMenus.Value Application.EnableEvents = True End Sub
le fichier
https://mon-partage.fr/f/0WFbEV3c/
Cdlt
Bonjour,
Pourquoi les cellules D5 et D7 de la feuille Accueil référentiels menus restent-elles vides?
Tout simplement parce ce que ce n'est demandé dans le code. En changeant C5 ou C7, ce sont bien les combobox destinataires apposées au-dessus de ces cellules qui prennent les valeurs, donc fonctionnement normal.
Cdlt
Pourquoi les cellules D5 et D7 de la feuille Accueil référentiels menus restent-elles vides?
Tout simplement parce ce que ce n'est demandé dans le code. En changeant C5 ou C7, ce sont bien les combobox destinataires apposées au-dessus de ces cellules qui prennent les valeurs, donc fonctionnement normal.
Cdlt
Désolé, je n'ai rien compris. Mes cellules restent vides. Alors comment faire pour qu'elles se remplissent si la colonne R a la mention Oui. Merci d'être clair et précis je ne suis pas un expert je n'ai pas l'esprit de déduction développé.
Bonjour Frenchie83,
J'espère que tu vas bien et que tu as é une bonne journée.
Merci pour ton aide.
Juste une question. J'ai repris mon chier tel qu'il était et dans lequel le combo box Modifier et le combo supprimer ne se remplissaient pas. Je n'y ai apporté aucune modification et aujourd'hui les deux combo boxes se remplissent correctement. Est-il possible qu'un jour le programme ne s'exécute pas correctement et que le lendemain, tout rentre dans l'ordre ?
Bonnes fin de journée et continuation.
J'espère que tu vas bien et que tu as é une bonne journée.
Merci pour ton aide.
Juste une question. J'ai repris mon chier tel qu'il était et dans lequel le combo box Modifier et le combo supprimer ne se remplissaient pas. Je n'y ai apporté aucune modification et aujourd'hui les deux combo boxes se remplissent correctement. Est-il possible qu'un jour le programme ne s'exécute pas correctement et que le lendemain, tout rentre dans l'ordre ?
Bonnes fin de journée et continuation.
Bonjour,
Un programme exécute exactement ce qu'on lui dit de faire et toujours en suivant la même logique, s'il est bien fait, il reproduira toujours le même résultat. S'il y a des résultats différents, c'est que les données à traiter sont différentes, dans ce cas là il faut en rechercher la cause en faisant du pas à pas.
Pour faire du pas à pas, se mettre dans la macro à tester, et appuyer sur F8, le programme se déroule ligne par ligne à chaque appui sur F8, puis observer son comportement ainsi que les valeurs des variables à chaque déplacement , vous finirez bien par trouver ce qui cloche.
Cdlt
Un programme exécute exactement ce qu'on lui dit de faire et toujours en suivant la même logique, s'il est bien fait, il reproduira toujours le même résultat. S'il y a des résultats différents, c'est que les données à traiter sont différentes, dans ce cas là il faut en rechercher la cause en faisant du pas à pas.
Pour faire du pas à pas, se mettre dans la macro à tester, et appuyer sur F8, le programme se déroule ligne par ligne à chaque appui sur F8, puis observer son comportement ainsi que les valeurs des variables à chaque déplacement , vous finirez bien par trouver ce qui cloche.
Cdlt
Comme suite à mon précédent message, je suis allé dans les propriétés de mon combo box Modifier référentiels : les propriétés ListIndex, ListCount et List n'existent pas. Je suis allé dans l'aide de Microsoft Visual Basic pour Applications, j'ai tapé List index : puis j'ai cliqué sur ListIndex, propriété : Identifie l'élément actuellement sélectionné dans un contrôle ListBox ou ComboBox. Alors, qu'est-ce ces monumentales conneries ? Une fois blanc, une fois gris et la troisième fois, ce sera quoi. Esprit de contradiction. Ce n'est pas une référence !
Dans le fichier ci-dessous, Modifier référentiels s'exécute correctement alors que la macro ModifierRéférentielsMenus il y a la même instruction qui, en pas à pas, ressort la même erreur !
https://ct.com/c/IGwpVGRqjY6
Dans le fichier ci-dessous, Modifier référentiels s'exécute correctement alors que la macro ModifierRéférentielsMenus il y a la même instruction qui, en pas à pas, ressort la même erreur !
https://ct.com/c/IGwpVGRqjY6
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question Bonjour Frenchie83,
J'ai ouvert votre fichier BUDGETS_VBA. J'ai affiché la fenêtre exécution (quand on fait du pas à pas, doit-elle être toujours ouverte ou ce n'est pas une obligation ?);Je me suis placé dans le module Modifie (code) et dans débogage, j'ai cliqué sur pas à pas puis enfoncer la touche F8 : première erreur (que je ne comprends pas d'ailleurs) : propriété ou méthode non gérée par cet objet (If ActiveSheet.cboModifierRéférentielsMenus.ListIndex = -1 Or ActiveSheet.cboModifierRéférentielsMenus = "Pas de référentiels à modifer" Then Exit Sub). Impossible de continuer en enfonçant la touche F8 car je reviens automatiquement sur cette erreur.
J'ai ouvert votre fichier BUDGETS_VBA. J'ai affiché la fenêtre exécution (quand on fait du pas à pas, doit-elle être toujours ouverte ou ce n'est pas une obligation ?);Je me suis placé dans le module Modifie (code) et dans débogage, j'ai cliqué sur pas à pas puis enfoncer la touche F8 : première erreur (que je ne comprends pas d'ailleurs) : propriété ou méthode non gérée par cet objet (If ActiveSheet.cboModifierRéférentielsMenus.ListIndex = -1 Or ActiveSheet.cboModifierRéférentielsMenus = "Pas de référentiels à modifer" Then Exit Sub). Impossible de continuer en enfonçant la touche F8 car je reviens automatiquement sur cette erreur.
Bonjour,
J'ai affiché la fenêtre exécution (quand on fait du pas à pas, doit-elle être toujours ouverte ou ce n'est pas une obligation ? Ben, il vaut mieux si l'on veut voir ou ça coince.
ActiveSheet.cboModifierRéférentielsMenus.ListIndex = -1 Or ActiveSheet.cboModifierRéférentielsMenus = "Pas de référentiels à modifer" Then Exit Sub) Quelle était la feuille active au moment ou vous faisiez du pas à pas? Les combobox étant dans la feuille "Accueil référentiels menus". Si la feuille active n'est pas la bonne, il ne va pas trouver les combobox, donc plantage.
Alors, qu'est-ce ces monumentales conneries ? Une fois blanc, une fois gris et la troisième fois, ce sera quoi. Esprit de contradiction. Ce n'est pas une référence ! Comme je l'ai dit précédemment, un programme bien écrit fait exactement ce qu'on lui demande, s'il ne répond aux attentes, c'est que tous les cas de figures n'ont pas été vus dans le cahier des charges.
Cdlt
J'ai affiché la fenêtre exécution (quand on fait du pas à pas, doit-elle être toujours ouverte ou ce n'est pas une obligation ? Ben, il vaut mieux si l'on veut voir ou ça coince.
ActiveSheet.cboModifierRéférentielsMenus.ListIndex = -1 Or ActiveSheet.cboModifierRéférentielsMenus = "Pas de référentiels à modifer" Then Exit Sub) Quelle était la feuille active au moment ou vous faisiez du pas à pas? Les combobox étant dans la feuille "Accueil référentiels menus". Si la feuille active n'est pas la bonne, il ne va pas trouver les combobox, donc plantage.
Alors, qu'est-ce ces monumentales conneries ? Une fois blanc, une fois gris et la troisième fois, ce sera quoi. Esprit de contradiction. Ce n'est pas une référence ! Comme je l'ai dit précédemment, un programme bien écrit fait exactement ce qu'on lui demande, s'il ne répond aux attentes, c'est que tous les cas de figures n'ont pas été vus dans le cahier des charges.
Cdlt
Bonjour Frankie83,
Je me suis mis sur la feuille Accueil, puis j'ai exécuté le pas à pas de la macro ModifierRéférentiels et là, je n'ai plus eu de message d'erreur. J'ai donc appris avec vous qu'il fallait faire attention à la feuille active quand on exécute un pas à pas. Je confirme, je persiste, je signe : les messages d'erreur ne sont pas toujours clairs. Là, cela aurait bien de dire la feuille désignée n'est pas active.
Dans le pas à pas, en enfonçant la touche F8, une nouvelle fois, sans message d'erreur cette fois-ci, il ne se e rien, le curseur ne descend pas d'une ligne : est-ce normal ?
Auriez-vous une explication sur le fait que list, listcount, listindex ne soient pas des propriétés des list boxes et des combo boxes, et qu'utilisés quand même il ne provoque pas d'erreur (l'instruction en cause m'a été écrite par quelqu'un, ce n'est pas moi qui l'ai créée).K
Bonnes journée et continuation.
Je me suis mis sur la feuille Accueil, puis j'ai exécuté le pas à pas de la macro ModifierRéférentiels et là, je n'ai plus eu de message d'erreur. J'ai donc appris avec vous qu'il fallait faire attention à la feuille active quand on exécute un pas à pas. Je confirme, je persiste, je signe : les messages d'erreur ne sont pas toujours clairs. Là, cela aurait bien de dire la feuille désignée n'est pas active.
Dans le pas à pas, en enfonçant la touche F8, une nouvelle fois, sans message d'erreur cette fois-ci, il ne se e rien, le curseur ne descend pas d'une ligne : est-ce normal ?
Auriez-vous une explication sur le fait que list, listcount, listindex ne soient pas des propriétés des list boxes et des combo boxes, et qu'utilisés quand même il ne provoque pas d'erreur (l'instruction en cause m'a été écrite par quelqu'un, ce n'est pas moi qui l'ai créée).K
Bonnes journée et continuation.
Du fait que vous posez de nombreuses questions et que je ne connais pas le but de votre application, je me suis penché un peu plus sur les diverses macros, ce qui m'amène à vous poser des questions à mon tour pour essayer de comprendre, car faire du dépannage au coup par coup sans en connaître la finalité peut durer longtemps.
Que souhaiteriez-vous avoir dans les combobox de la feuille "Accueil référentiels menus"? Quelle liste de la feuille "Tableau référentiels menus"?
Que souhaiteriez-vous avoir dans les cellules D5 et D7 de la feuille "Accueil référentiels menus"?
En clair que cherchez-vous à faire? Quel est le but de la manoeuvre?
Pourquoi ne demandez-vous pas à celui qui vous a fait le programme s'il veut bien reprendre tous ces points qui pose problème? Ne serait-ce pas plus simple?
Que souhaiteriez-vous avoir dans les combobox de la feuille "Accueil référentiels menus"? Quelle liste de la feuille "Tableau référentiels menus"?
Que souhaiteriez-vous avoir dans les cellules D5 et D7 de la feuille "Accueil référentiels menus"?
En clair que cherchez-vous à faire? Quel est le but de la manoeuvre?
Pourquoi ne demandez-vous pas à celui qui vous a fait le programme s'il veut bien reprendre tous ces points qui pose problème? Ne serait-ce pas plus simple?
Bonjour Frenchie83,
Comme promis, je te fais parvenir le fichier Word que je t'ai promis (premier Mot de e : Pour Frenchie;deuxième mot de e : Pour Frenchie). J'espère que j'ai été clair et précis. Je te s également mon fichier MENUS.xlsm et Comptabilité VENGRON;XLSM.
Merci pour ton aide éventuelle. Bonnes fin de journée et continuation.
https://ct.com/c/IGFo35XroM6
https://ct.com/c/IGFpbedQgU6
https://ct.com/c/IGFphHk7446
Comme promis, je te fais parvenir le fichier Word que je t'ai promis (premier Mot de e : Pour Frenchie;deuxième mot de e : Pour Frenchie). J'espère que j'ai été clair et précis. Je te s également mon fichier MENUS.xlsm et Comptabilité VENGRON;XLSM.
Merci pour ton aide éventuelle. Bonnes fin de journée et continuation.
https://ct.com/c/IGFo35XroM6
https://ct.com/c/IGFpbedQgU6
https://ct.com/c/IGFphHk7446
J'ai trouvé, après avoir imprimé le code du fichier MenusV4, les deux erreurs qui empêchaient le programme de s'exécuter correctement. La preuve m'est encore faite que F8, c'est de la connerie pure et simple puisque le débogage ne m'a jamais signalé ces deux erreurs. Je vous donne la piste : regarder le code des feuilles Accueil et MP du fichier MENUS avec celui de menuV4 pour lesdites feuilles.
Je vais vous dre dans un prochain message un dossier Word qui expliquera ce que je souhaite. D'autre part, une explication sinon sur toutes mais certaines instructions me serait très certainement utile.
Bébère, celui qui a initié le programme, ne répond plus à mes messages. Je ne me souviens plus s'il était de Comment ça marche, d'Excel s, de Microsoft Community ou de Développez. Déjà, je peux vous donner quelques informations.
Un produit sera composé des rubriques suivantes :
Numéro référentiels menus (1)
Code titre référentiels menus (1)
Titre référentiels menus (1)
Liste code référentiels menus (1)
Liste nom référentiels menus (1)
Code jour référentiels menus *
Jour référentiels menus *
Code conditionnement référentiels menus *
Conditionnement référentiels menus *
Code destination référentiels menus *
Destination référentiels menus *
Code période concernée menus
Période concernée menus
Code période viandes weekend
Période viandes weekend
Date création référentiels menus
À modifier
Les rubriques suivies de (1) ne pourront pas être modifiées. En cas de modification, le programme devra vraiment modifier les rubriques adéquates sans créer une nouvelle ligne, seule la ligne concernée, colonne par colonne, devra être modifiée, selon le critère de l'intitulé et si la colonne à modifier est à Oui. Si un référentiel est supprimé, dans la mesure du possible, ce serait bien que son numéro de création initial puisse être repris (mais ce n'est pas un obligation, surtout si cela pose un problème de codification trop important).
Les rubriques suivies d'un * ne seront pas renseignées pour les produits Période concernée menus, Période viandes weekend, Observations.
Le tableau Référentiels menus servira de liste de choix (avec de nouveaux noms définis le cas échéant) pour la création des menus dont vous trouverez un modèle en pièce te.
https://ct.com/c/IGxn12JEF46
Je pars du principe, qu'un programme initié par quelqu'un ne doit pas être utilisé par moi mais que je dois créer un nouveau programme d'après les éléments donnés dans le programme initié afin de comprendre ses tenants et aboutissants, ce que personne n'a jamais voulu jusqu'ici me faire, d'où, dans la plupart des cas, les commentaires que j'ai rédigés moi-même sans être sûr que ce soit la bonne explication.
Je trouve cela absurde d'utiliser un fichier tel quel sans en comprendre le fonctionnement.
Enfin, dernière précision : après que ce programme aura été fait et qu'il fonctionnera correctement et qu'il répondra à mes besoins, je m'attaquerai à la création d'un programme identique qui utilisera uniquement des formulaires.
J'ose espérer que ce speech ne vous décidera pas à supprimer toute relation comme cela a été trop souvent le cas aussi bien ici qu'ailleurs.
Bonnes fin de journée et continuation le varois.
Bébère, celui qui a initié le programme, ne répond plus à mes messages. Je ne me souviens plus s'il était de Comment ça marche, d'Excel s, de Microsoft Community ou de Développez. Déjà, je peux vous donner quelques informations.
Un produit sera composé des rubriques suivantes :
Numéro référentiels menus (1)
Code titre référentiels menus (1)
Titre référentiels menus (1)
Liste code référentiels menus (1)
Liste nom référentiels menus (1)
Code jour référentiels menus *
Jour référentiels menus *
Code conditionnement référentiels menus *
Conditionnement référentiels menus *
Code destination référentiels menus *
Destination référentiels menus *
Code période concernée menus
Période concernée menus
Code période viandes weekend
Période viandes weekend
Date création référentiels menus
À modifier
Les rubriques suivies de (1) ne pourront pas être modifiées. En cas de modification, le programme devra vraiment modifier les rubriques adéquates sans créer une nouvelle ligne, seule la ligne concernée, colonne par colonne, devra être modifiée, selon le critère de l'intitulé et si la colonne à modifier est à Oui. Si un référentiel est supprimé, dans la mesure du possible, ce serait bien que son numéro de création initial puisse être repris (mais ce n'est pas un obligation, surtout si cela pose un problème de codification trop important).
Les rubriques suivies d'un * ne seront pas renseignées pour les produits Période concernée menus, Période viandes weekend, Observations.
Le tableau Référentiels menus servira de liste de choix (avec de nouveaux noms définis le cas échéant) pour la création des menus dont vous trouverez un modèle en pièce te.
https://ct.com/c/IGxn12JEF46
Je pars du principe, qu'un programme initié par quelqu'un ne doit pas être utilisé par moi mais que je dois créer un nouveau programme d'après les éléments donnés dans le programme initié afin de comprendre ses tenants et aboutissants, ce que personne n'a jamais voulu jusqu'ici me faire, d'où, dans la plupart des cas, les commentaires que j'ai rédigés moi-même sans être sûr que ce soit la bonne explication.
Je trouve cela absurde d'utiliser un fichier tel quel sans en comprendre le fonctionnement.
Enfin, dernière précision : après que ce programme aura été fait et qu'il fonctionnera correctement et qu'il répondra à mes besoins, je m'attaquerai à la création d'un programme identique qui utilisera uniquement des formulaires.
J'ose espérer que ce speech ne vous décidera pas à supprimer toute relation comme cela a été trop souvent le cas aussi bien ici qu'ailleurs.
Bonnes fin de journée et continuation le varois.
Les fichiers de Bebere sont dans ce fil :
https://www.excel-s.com/threads/aller-sur-la-feuille-shmrm.20027134/#post-20205155
https://www.excel-s.com/threads/aller-sur-la-feuille-shmrm.20027134/#post-20205155
Bonjour Frenchie83,
Création produit, afficher produit, remplissage de la feuille produits : tout va bien, rien à modifier (enfin, j'espère).
Modifier produit : la feuille mp reste vide. Comment remédier au problème ?
Bonnes soirée et continuation.
https://ct.com/c/IGBqCYpbUz6
Création produit, afficher produit, remplissage de la feuille produits : tout va bien, rien à modifier (enfin, j'espère).
Modifier produit : la feuille mp reste vide. Comment remédier au problème ?
Bonnes soirée et continuation.
https://ct.com/c/IGBqCYpbUz6
https://ct.com/c/IGvtrG0Vg46
Si vous suivez ce que je préconise au post 6, à savoir faire du pas à pas sur la macro "ValiderSaisieRéférentielsMenus", vous devriez trouver facilement la source du problème. Je vous laisse cogiter un peu et revenez nous dire si vous avez trouvé ou pas.
Je vous mets sur la voie: Que doit recherchez la macro?, l'a t-elle trouver?, Pourquoi?
Cdlt