GénérerTablesMensuellesMMR ne s'exécuté pas

Bonjour à toutes et à tous,

Fichier comptabilitébegoodv1-3 : macro Générer_TablesMensuellesMMR : le tableau structuré complètement vide, un clic sur cette macro et le tableau se remplit, je n'ai pas besoin de créer les douze tables auparavant. Les titres des lignes adéquates (A1 par exemple), des colonnes du tableau structuré concerné, le nom du tableau structuré : tout est codé et je n'ai absolument rien à faire.

Fichier menus.xlsm : j'ai rempli manuellement les colonnes concernées du tableau structuré TabBDMenus de la feuille BD menus. J'ai écrit le code de la macro GénérerTablesMensuellesMMR. Clic sur cette macro ! erreur : l'indice n'appartient pas à la sélection : l'erreur serait sur cette ligne : Set WS = Sheets("TableMMR").

D'avance merci de m'aider à faire disparaître cette erreur.

Fichier begood:

Fichier menus.xlsm

12menus.xlsm (272.16 Ko)

Bonjour,

La feuille "TableMMR" Existe-elle? Ne serait -ce pas plutôt "Tables mensuelles MMR"?

Cdlt

Bonjour Arturo 83,

Ravi de vous retrouver. Je ne sais, j'ai essayé différents noms qui n'ont pas abouti au résultat attendu. Chez begood, feuille Tables MMR, tableau structuré de chaque mois, le nom est TableMMR1, TableMMR2 jusqu'à TableMMR12. Ne serait -ce pas plutôt "Tables mensuelles MMR"? : où cette expression devrait alors être présente ? Sur la ligne où l'erreur paraît, j'ai mis Tables mensuelles MMR : je n'ai plus de message d'erreur mais la feuille Tables mensuelles MMR reste vide. Dans la feuille BD menus, j'ai créé onze nouvelles lignes et modifié la colonne Mois menu en conséquence mais cela ne permet toujours pas de remplir la feuille Tables mensuelles MMR.

Bonjour,

Depuis le temps, vous avez appris plusieurs méthodes pour procéder à un débogage : l’ajout d’espions, le pas à pas avec F8, ou encore l’utilisation de la fenêtre Exécution.
Il ne vous reste plus qu’à mettre en pratique une ou plusieurs de ces approches pour identifier l’origine du problème.

De mon côté, c’est exactement ce que je ferais pour chercher la cause, donc vous pouvez tout à fait le faire vous-même — cela ne fera que renforcer vos compétences et votre autonomie.

Cdlt

Arturo83,

Cela ne résout pas le problème puisque je n'ai plus de message d'erreur et malgré cela la macro ne s'exécute pas.

la macro ne s'exécute pas

La macro ne s’exécute pas du tout, ou bien elle ne fait pas ce que vous attendez ?

Ouvrez la macro et exécutez-la pas à pas avec F8 : vous verrez immédiatement où ça bloque.
Si je vous conseille cette méthode, c’est parce que c’est exactement ce que je ferais de mon côté pour chercher l’origine du problème.
C’est d’ailleurs plus simple pour vous que pour moi, puisque vous connaissez votre application et savez déjà où vous avez mis les mains.

Elle ne s'exécute pas.

Elle ne s'exécute pas.

Cela voudrait-il dire qu'elle n'est pas rattachée à un objet(bouton)? Dans ce cas, si vous alliez dans le module et que vous faisiez du pas à pas, vous verriez bien défiler le bon déroulement de la macro

Je pense que plutôt que la macro fonctionne bien, mais les valeurs récupérées dans la zone :

Tablo(N)(Tj(N), 3) = tBDMenus(I, 19)
Tablo(N)(Tj(N), 4) = tBDMenus(I, 27)
Tablo(N)(Tj(N), 5) = tBDMenus(I, 35)
Tablo(N)(Tj(N), 6) = tBDMenus(I, 1)
Tablo(N)(Tj(N), 7) = tBDMenus(I, 39)
Tablo(N)(Tj(N), 8) = tBDMenus(I, 36)

ne sont pas correctes, les colonnes 19, 27, 35 etc du tableau sont vides

Je pense que plutôt que la macro fonctionne bien, mais les valeurs récupérées dans la zone :

Tablo(N)(Tj(N), 3) = tBDMenus(I, 19)
Tablo(N)(Tj(N), 4) = tBDMenus(I, 27)
Tablo(N)(Tj(N), 5) = tBDMenus(I, 35)
Tablo(N)(Tj(N), 6) = tBDMenus(I, 1)
Tablo(N)(Tj(N), 7) = tBDMenus(I, 39)
Tablo(N)(Tj(N), 8) = tBDMenus(I, 36)

Dans le cas contraire, je le ferai moi-même, mais pouvez me dire à quoi correspondent les chiffres de tablo(N)(Tj(N),3); si 3 est date menu, le 19 devra être également date menu. Pour tBDMenus, pas de problème pour savoir à quoi correspond le chiffre, par contre pour tablo, c'est plus difficile.

J'ai rempli les colonnes qui concernaient MMR mais toujours pas d'exécution.

9menus.xlsm (273.50 Ko)

Tablo-N)correspond au tableau du mois N (puisqu’il y en a 12, un par mois).

Tj(N) correspond au numéro de ligne en cours pour ce mois-là (c’est un compteur de lignes).

c’est l’indice de colonne dans le tableau Tablo(N) où la donnée va être stockée.

1) la feuille accueil j'a pas encore de bouton de commande Générer_TablesMensuelles MMR : estèce un motif valable pour que la macro ne s'exécute pas ?

2) tBDmenus : colonne 19 : quantité légume deux ! comment je peux savoir que la colonne 3 du tabloN est quantité légume (évidemment, je viens de m'en apercevoir, le 19 est faux) ? Grâce à cette ligne de code ? (tEnTêteMMR = Array("Date menu", "Légume", "Viande", "Dessert", "Jour férié", "Nature menu allégée", _
"Numéro création menu", "Mois"). Si oui, mes propres chiffres risquent d'être tous erronés. Raison pour que la macro ne s'exécute pas ?

Merci pour les explications.

Bonjour à tous,

Hum, vous devriez réparer ceci avant tout :

puvf8cysk2

Pour cette partie du code :

                NM = NM + 1
                'WorksheetFunction.WorkDay : Renvoie un nombre qui représente une date qui est le nom _
                bre indiqué de jours ouvrés avant ou après une date (date de début). Les jours ouvrés _
                excluent les week-ends et les jours de congés. Utilisez WorkDay pour exclure les week- _
                ends ou les jours fériés lorsque vous calculez les dates d’échéance des factures, les _
                délais de livraison prévus ou le nombre de jours de travail effectués.
                DatJ = WorksheetFunction.WorkDay(DatJ, 1)
                'Opérateurs de comparaison : < (Inférieur à)<= (Inférieur ou égal à)> (Supérieur à)>= _
                (Supérieur ou égal à)= (Égal à)<> (Non égal à)
                If Year(DatJ) > Range("Année_En_Cours").Value Then Exit For

            Next Col
        Next Lig
    End With
End Sub

Bonjour à tous,

@BUDGETS,

Je reviens de congé et je suis toujours effaré de vos problèmes.

Déjà vous dites que la macro ne s'exécute pas, pourquoi ? Comment faites-vous pour le voir ?

Quelles sont différentes manières de lancer une macro ? Existent-elles dans votre fichier ?

Bonjour à tous,

Quelles sont différentes manières de lancer une macro ? Existent-elles dans votre fichier ?

@BeGood A ce que j'en ai vu, c'est celle là qui plante, mais bon vous connaissez mieux le projet que moi.

image

Bon et j'ai remarqué que la tendance pour Budget était à casser tout ce qui était déjà fait...

Bonjour à tous,

@Jean-Paul,

Non, cette procédure fonctionne même s'il existe toujours d'anciens noms non référencés et non utilisés.

la tendance pour Budget était à casser tout ce qui était déjà fait...

Je confirme, son niveau est beaucoup trop insuffisant pour la compréhension des procédures complexes (et même simples en fait).

Pour Jean-Paul : il s'agit de la macro Générer_TablesMensuellesMMR et non propositions (déjà signalé plusieurs fois !). Gestionnaire de noms : j'ai réparé.

Clic sur développeur, onglet macro, (Générer tables mensuelles mmr), clic sur exécuter ! la feuille Tables mensuelles mmr reste vide. J'attends une réponse à la question posée à Arturo83 concernant qu'il n'y a pas encore de bouton de commande pour Générer_TablesMensuellesMMR.

Quoique que vous en pensiez, je ne suis pas aussi nul comme vous le prétendez. Il y a cinq ans, je n'aurai pas été capable de faire ce que je fais aujourd'hui d'une part, je ne casse rien mais un fichier fourni qui fonctionne correctement, j'essaie de le reproduire moi-même sans avoir recours à des copier-coller qui ne m'apprend rien d'autre part.

Bonjour à tous,

@BUDGETS,

Puisque vous passez par Développeur pour lancer la macro, c'est qu'elle s'exécute bien mais qu'elle ne donne pas le résultat escompté !

Peut-être que si vous aviez fait un copier-coller, vous n'auriez pas oublié la moitié du code ?

Enfin une réponse qui me met sur la voie. Je suppose que c'est la macro Générer_TablesMensuelles MMR qui est incomplète. Rectification : ce n'est peutà^etre pas un oubli mais seulement un test pour ce sui estsdéjà codifié et, vraisemblablement, le reste du code que j'aurai omis volontairement semble important pour l'exécution de la macro. si tel et le cas, il aurait été plus simple de me le signaler au lieu de me prendre pour un connard qui casse tout !

Bonjour,

Arrêtez de nous prendre pour des imbéciles et des petites mains qui vont vous signaler toutes les erreurs que vous faites.

Si vous omettez volontairement une partie du code qui vous est proposé et qu'ensuite vous venez sur le forum en disant ça ne marche pas, là vous dépassez sérieusement les bornes.

Je vous ai fourni un fichier complet qui fonctionne. Libre à vous de le modifier, mais de grâce, faites-le intelligemment.

Bonjour Arturo83,

Merci de compléter les commentaires pour les instructions non encore expliquées de la procédure Sub Générer_TablesMensuellesMMR. Que de temps perdu inutilement. Dommage que begood n'ait pas cru nécessaire de me dire dès le départ le contenu de son dernier message (procédure incomplète) J'ai fini d'écrire le code et miracle, la macro s'exécute (mal mais je sais pourquoi : les chiffres indiqués sont erronés). Mis à part les chiffres erronés, la table mensuelle de février 2025 ne se remplit pas. La colonne mois est incorrectement remplie pour Janvier 2o25 (1 au lieu de janvier 2025).

11menus.xlsm (285.42 Ko)
Rechercher des sujets similaires à "generertablesmensuellesmmr execute pas"