VBA Feuille Accueil : cellules D5 et D7 restent vides

Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
- - Dernière réponse : BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
- 1 août 2019 à 21:24
Bonsoir,

Pourquoi les cellules D5 et D7 de la feuille Accueil référentiels menus restent-elles vides alors que la colonne R de la feuille Tableau référentiels menus est à Oui sur chaque ligne ?
D'avance merci pour votre aide.
https://cjoint.com/c/IGrsCai3kd6


Configuration: WINDOWS 7 EXCEL PROFESSIONNEL 2010

Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220
1
Merci
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):
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

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 59067 internautes nous ont dit merci ce mois-ci

BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
-
Bon, cela marche bien. Les combo box Modifier et Supprimer se remplissent correctement. Par contre, il y a un nouveau problème. Choix fait dans la cellule C5 puis dans la cellule D5 puis clic sur Modifier référentiels. On arrive sur la feuille MRM, j'apporte les modifications qui s'imposent puis Valider modification référentiels. Au lieu de modifier , il crée une nouvelle ligne. Voir fichier ci-dessous.
https://cjoint.com/c/IGvtrG0Vg46
Frenchie83
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220 > BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
-
Voir en premier mon commentaire au post 6.

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
Commenter la réponse de Frenchie83
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220
0
Merci
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
Commenter la réponse de Frenchie83
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
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é.
Commenter la réponse de BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
Bonjour Frenchie83,

J'espère que tu vas bien et que tu as passé 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.
Frenchie83
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220 -
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
BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
> Frenchie83
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
-
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://cjoint.com/c/IGwpVGRqjY6
Commenter la réponse de BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
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.

Commenter la réponse de BUDGETS
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220
0
Merci
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
Commenter la réponse de Frenchie83
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
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 passe 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.
Commenter la réponse de BUDGETS
Messages postés
1977
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
23 juillet 2019
220
0
Merci
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?
BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
-
Bonjour Frenchie83,

Comme promis, je te fais parvenir le fichier Word que je t'ai promis (premier Mot de passe : Pour Frenchie;deuxième mot de passe : Pour Frenchie). J'espère que j'ai été clair et précis. Je te joins également mon fichier MENUS.xlsm et Comptabilité VENGRON;XLSM.
Merci pour ton aide éventuelle. Bonnes fin de journée et continuation.
https://cjoint.com/c/IGFo35XroM6
https://cjoint.com/c/IGFpbedQgU6
https://cjoint.com/c/IGFphHk7446
BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
-
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.
Commenter la réponse de Frenchie83
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
Je vais vous joindre 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 downloads, 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 jointe.
https://cjoint.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.


Patrice33740
Messages postés
7791
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
10 août 2019
1195 -
Commenter la réponse de BUDGETS
Messages postés
430
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
22 août 2019
0
Merci
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://cjoint.com/c/IGBqCYpbUz6
Commenter la réponse de BUDGETS