Quelle formule pour remplir les cellules H à L incluses ?
Résolu
BUDGETS
Messages postés
1607
Date d'inscription
Statut
Membre
Dernière intervention
-
BUDGETS Messages postés 1607 Date d'inscription Statut Membre Dernière intervention -
BUDGETS Messages postés 1607 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans la feuille SM, selon le contenu de la cellule G6, existerait-il une formule qui permettrait de remplir automatiquement les cellules H à L incluses ? Dans l'affirmative, quelle serait-elle et combien de noms à définir éventuellement dans la feuille produits ? Dans la mesure du possible, je souhaiterais ne pas passer par rechercheH ni par Recherchev à moins que l'une de ces deux fonctions permettrait de remplir automatiquement (en une seule fois)les cellules H à L incluses.
D'avance merci pour votre aide.
https://cjoint.com/c/IHwtqQGMfr6
Dans la feuille SM, selon le contenu de la cellule G6, existerait-il une formule qui permettrait de remplir automatiquement les cellules H à L incluses ? Dans l'affirmative, quelle serait-elle et combien de noms à définir éventuellement dans la feuille produits ? Dans la mesure du possible, je souhaiterais ne pas passer par rechercheH ni par Recherchev à moins que l'une de ces deux fonctions permettrait de remplir automatiquement (en une seule fois)les cellules H à L incluses.
D'avance merci pour votre aide.
https://cjoint.com/c/IHwtqQGMfr6
Configuration: WINDOWS 7 EXCEL PROFESSIONNEL 2010
A voir également:
- Quelle formule pour remplir les cellules H à L incluses ?
- Formule excel pour additionner plusieurs cellules - Guide
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
53 réponses
ModuleVWE_InsérerMVWE : grâce à tes commentaires très clairs et précis du moduleMR_InsérerMMR, j'ai presque tout compris et j'ai réécrit le code pour la viande weekend. J'espère que je n'ai rien oublié. Pour l'instant, la compilation n'a signalé aucune erreur. Si tu penses qu'il y a des omissions ou des erreurs de syntaxe, merci de me les signaler. Réafficher la feuille d'origine : de quelle feuille s'agit-il (à deux endroits différents, toujours la même feuille d'origine) ?
https://cjoint.com/c/IIspIisf7z6
Bonnes soirée et continuation.
https://cjoint.com/c/IIspIisf7z6
Bonnes soirée et continuation.
Cela fait deux heures que je n'avais plus d'Internet, de téléphone fixe, de tv Orange. Un incident sur ma ligne. Cela s'était produit récemment et j'avais été privé de tout pendant deux mois ! Aussi, si je réponds pas dans la journée, c'est que j'ai des problèmes de ligne. Tu voudras bien m'en excuser.
Bonjour BUDGETS,
J'espère que tes problèmes de connexion sont résolus.
Quelques remarques sur ton dernier fichier :
Feuille Sasie VWE
1) la cellule B4 n'est pas remplie
2) la cellule H4 ne se remplit pas toujours correctement
3) la cellule B12 n'est pas correctement renseigné
Code VBA
Procédure InsérerDonnéesVWE : tu as une erreur non détectée à la compilation mais lors de l'exécution
Toujours Procédure InsérerDonnéesVWE : le commentaire après la ligne ActiveSheet.Range("H3").Copy est erroné
Feuille Référentiels
liste Noms Jours : tu n'as pas mis le format personnalisé 00
Ré afficher la feuille origine permet de revenir sur la feuille qui était active (shSaisieMVWE) lors du lancement de la procédure, en effet après les différentes copies il y a un changement de feuille active pour repositionner le pointeur sur la cellule A1( feuille BD Menus et Menus VWE) ( Voir 'Se positionner en A1 sur la feuille BD Menus et 'Se positionner en A1 sur la feuille Menus MMR)
Et peut-être d'autres choses que je n'ai pas vu , ...
Je sais corriger ces erreurs ou omissions, mais je te laisse chercher, dis-moi si tu as des doutes.
Cordialement
J'espère que tes problèmes de connexion sont résolus.
Quelques remarques sur ton dernier fichier :
Feuille Sasie VWE
1) la cellule B4 n'est pas remplie
2) la cellule H4 ne se remplit pas toujours correctement
3) la cellule B12 n'est pas correctement renseigné
Code VBA
Procédure InsérerDonnéesVWE : tu as une erreur non détectée à la compilation mais lors de l'exécution
Toujours Procédure InsérerDonnéesVWE : le commentaire après la ligne ActiveSheet.Range("H3").Copy est erroné
Feuille Référentiels
liste Noms Jours : tu n'as pas mis le format personnalisé 00
Ré afficher la feuille origine permet de revenir sur la feuille qui était active (shSaisieMVWE) lors du lancement de la procédure, en effet après les différentes copies il y a un changement de feuille active pour repositionner le pointeur sur la cellule A1( feuille BD Menus et Menus VWE) ( Voir 'Se positionner en A1 sur la feuille BD Menus et 'Se positionner en A1 sur la feuille Menus MMR)
Et peut-être d'autres choses que je n'ai pas vu , ...
Je sais corriger ces erreurs ou omissions, mais je te laisse chercher, dis-moi si tu as des doutes.
Cordialement
Bonjour ALS35,
Je peux me reconnecter à Internet. Pour combien de temps ? Mystère !
Pour les cellules B4, B12, j'ai vu ce qui n'allait pas. Pour la cellule H12, je vais regarder de plus près car chez moi, il semble ne pas avoir de problème. Pour le reste, je vais voir cela cette après-midi. Pour liste jours, sans le faire, dis-moi comment procéder. Seules les cellules Créer menus midi retraite ne semblent pas être à personnaliser alors que je l'ai fait (Format, format de cellule, nombre, personnaliser, type : 00, clic sur ok).
Je peux me reconnecter à Internet. Pour combien de temps ? Mystère !
Pour les cellules B4, B12, j'ai vu ce qui n'allait pas. Pour la cellule H12, je vais regarder de plus près car chez moi, il semble ne pas avoir de problème. Pour le reste, je vais voir cela cette après-midi. Pour liste jours, sans le faire, dis-moi comment procéder. Seules les cellules Créer menus midi retraite ne semblent pas être à personnaliser alors que je l'ai fait (Format, format de cellule, nombre, personnaliser, type : 00, clic sur ok).
Feuille shAccueilMenus : cellule E7 : impossible qu'il prenne en compte qu'il doit copier la cellule D1.
Liste jours : je n'arrive pas à comprendre ce que tu veux : pour chaque jour, je dois formater en nombre, personnaliser (soit 31 manipulations à répéter pour viandes, desserts)?
Feuille shSaisieVWE : la cellule H4 ne se remplit pas malgré que la cellule H3 soit remplie automatiquement. Prévoir un remplissage automatique à partir de H3 ? Cellules B4 et B12 : problème résolu.
Module InsérerDonnéesVWE : exécution : l'erreur : dans shBDMenus : la colonne Am ne se remplissait pas. Correction effectuée : elle se remplit maintenant. Commentaire après H3 : il manquait le o de contenu : C'est cette erreur ?
J'ai créé un menu viande pour le samedi 21 septembre 2019 : normalement les cellules sont correctement remplies dans les feuilles shBDMenus et shMenusVWE.
Liste jours : je n'arrive pas à comprendre ce que tu veux : pour chaque jour, je dois formater en nombre, personnaliser (soit 31 manipulations à répéter pour viandes, desserts)?
Feuille shSaisieVWE : la cellule H4 ne se remplit pas malgré que la cellule H3 soit remplie automatiquement. Prévoir un remplissage automatique à partir de H3 ? Cellules B4 et B12 : problème résolu.
Module InsérerDonnéesVWE : exécution : l'erreur : dans shBDMenus : la colonne Am ne se remplissait pas. Correction effectuée : elle se remplit maintenant. Commentaire après H3 : il manquait le o de contenu : C'est cette erreur ?
J'ai créé un menu viande pour le samedi 21 septembre 2019 : normalement les cellules sont correctement remplies dans les feuilles shBDMenus et shMenusVWE.
Feuille shAccueilMenus : cellules E7, E11, E15, il y un code dans la procédure de la feuilleand la feuille est activé. Tu peux le supprimer et/ou mettre dans ces cellules la formule =$D$1
Liste jours : dans la feuille Référentiels, tu sélectionnes les 31 jours colonne AM et tu appliques le format en une seule fois
Feuille shSaisieVWE : cellule H4, le problème vient de la cellule H3 qui est mal renseignée dans la procédure CréerMVWE, c'est subtil regarde bien. Si on modifie H3 avec la liste déroulante ça doit être bon.
Module InsérerDonnéesVWE Commentaire après H3, oui aussi pour l’orthographe mais surtout il n'y a qu'une seule cellule et une seule colonne et non pas deux
On avance petit à petit, n'est-ce-pas ?
Liste jours : dans la feuille Référentiels, tu sélectionnes les 31 jours colonne AM et tu appliques le format en une seule fois
Feuille shSaisieVWE : cellule H4, le problème vient de la cellule H3 qui est mal renseignée dans la procédure CréerMVWE, c'est subtil regarde bien. Si on modifie H3 avec la liste déroulante ça doit être bon.
Module InsérerDonnéesVWE Commentaire après H3, oui aussi pour l’orthographe mais surtout il n'y a qu'une seule cellule et une seule colonne et non pas deux
On avance petit à petit, n'est-ce-pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cellule H4 : modification effectuée (A au lieu de À)
Liste jours : modification effectuée dans la feuille shRéférentiels. Je te joints le fichier pour que tu vois si c'est bien ce que tu souhaitais.
Module InsérerDonnéesVWE : j'ai rajouté la deuxième colonne.
feuille shAccueilMenus : cellules E7, E11, E15 : la procédure de la feuilleand la feuille est activé : je n'ai pas compris. J'ai mis =$D$1 mais cela n'est pas pris alors qu'il est pris pour les menus journaliers et les menus viandes weekend. dans le code, il est bien mentionné D1 pour les cellules E7, E11 et E15.
https://cjoint.com/c/IItp6wbiaq6
Liste jours : modification effectuée dans la feuille shRéférentiels. Je te joints le fichier pour que tu vois si c'est bien ce que tu souhaitais.
Module InsérerDonnéesVWE : j'ai rajouté la deuxième colonne.
feuille shAccueilMenus : cellules E7, E11, E15 : la procédure de la feuilleand la feuille est activé : je n'ai pas compris. J'ai mis =$D$1 mais cela n'est pas pris alors qu'il est pris pour les menus journaliers et les menus viandes weekend. dans le code, il est bien mentionné D1 pour les cellules E7, E11 et E15.
https://cjoint.com/c/IItp6wbiaq6
Ok pas mal !
Attention dans la feuille référentiels laisser toujours une colonne entre tes tableaux, sinon tu risques d'être embêté.
shAccueilMenus procédure Worksheet_Activate finalement supprime carrément les 3 lignes concernant E7, E11, E15 et mets =$D$1 dans ces cellules
On est sur le bon chemin !
Attention dans la feuille référentiels laisser toujours une colonne entre tes tableaux, sinon tu risques d'être embêté.
shAccueilMenus procédure Worksheet_Activate finalement supprime carrément les 3 lignes concernant E7, E11, E15 et mets =$D$1 dans ces cellules
On est sur le bon chemin !
Pourquoi un envoi intempestif ? Je te demande uniquement de me préciser ce qu'est C ?
shAccueilMenus, finalement supprime c : c'est ta réponse.
shAccueilMenus, finalement supprime c : c'est ta réponse.
Oui. Exécuté tes instructions et cela marche. Maintenant, je vais m'attaquer aux derniers modulés pas encore codifiés.
Bonjour ADS35,
Ci-joint le fichier modifié.
ModulEffacerTables : création de la procédure EffacerFeuilleMenusVWE : exécution parfaite, toutes les données ont disparu.
ModuleVWE_GénérerMenusVWE : création de la procédure GénérermenusVWE : erreur dans l'exécution sur la première ligne qui suit Do. Voir mes commentaires et questions.
https://cjoint.com/c/IIupL3qKUI6
Ci-joint le fichier modifié.
ModulEffacerTables : création de la procédure EffacerFeuilleMenusVWE : exécution parfaite, toutes les données ont disparu.
ModuleVWE_GénérerMenusVWE : création de la procédure GénérermenusVWE : erreur dans l'exécution sur la première ligne qui suit Do. Voir mes commentaires et questions.
https://cjoint.com/c/IIupL3qKUI6
Regarde MMR; générer ne fonctionne pas !
Pour générer vwe, j'ai trouvé à quoi correspondent les chiffres;j'ai donc modifié le code en conséquence mais cela ne fonctionne toujours pas. Faut-il prévoir toutes les colonnes de mvwe (depuis la colonne A jusqu'à la colonne F incluses avec les colonnes correspondantes de BDMenus) ?
Générer doit se faire aussitôt qu'effacer feuille mvwe ait été fait ou cela peut se faire plus longtemps après, voire le lendemain ? Au départ, pour MMR effacer et générer fonctionnaient correctement et, ce soir, générer ne fonctionne plus !
Pour générer vwe, j'ai trouvé à quoi correspondent les chiffres;j'ai donc modifié le code en conséquence mais cela ne fonctionne toujours pas. Faut-il prévoir toutes les colonnes de mvwe (depuis la colonne A jusqu'à la colonne F incluses avec les colonnes correspondantes de BDMenus) ?
Générer doit se faire aussitôt qu'effacer feuille mvwe ait été fait ou cela peut se faire plus longtemps après, voire le lendemain ? Au départ, pour MMR effacer et générer fonctionnaient correctement et, ce soir, générer ne fonctionne plus !
Bonjour BUDGETS,
J'ai vu ce qui n'allait pas.
1) Ne mélange pas les années 2019 et 2020.
Dans ta BD Menus tu as des dates en 2019 et tu veux générer des Menus pour 2020 !
Mets toutes tes dates la même année comme je te l'ai déjà dit.
2) Et surtout, du fait du rajout des menus VWE il faut faire évoluer les procédures GénérerMenus...
Dans les procédures GénérerMenusMMR et GénérerMenusMVWE il faut rajouter un test sur le type de menu sinon dans la deuxième boucle on ne trouve pas de correspondance de dates.
Je te propose cette modification d'une partie du code pour GénérerMenus MMR
Il faut appliquer également cette modification dans la procédure GénérerMenus MVWE en faisant bien attention aux changements nécessaires.
Je te laisse faire les modifs.
Ces procédures GénérerMenus... ne servent qu'à recréer les Feuilles Menus MMR et VWE quand on les a effacés complètement pour des raisons pratiques de test et mise au point, à condition évidemment que la table BD Menus soit toujours renseigné.
Cordialement
J'ai vu ce qui n'allait pas.
1) Ne mélange pas les années 2019 et 2020.
Dans ta BD Menus tu as des dates en 2019 et tu veux générer des Menus pour 2020 !
Mets toutes tes dates la même année comme je te l'ai déjà dit.
2) Et surtout, du fait du rajout des menus VWE il faut faire évoluer les procédures GénérerMenus...
Dans les procédures GénérerMenusMMR et GénérerMenusMVWE il faut rajouter un test sur le type de menu sinon dans la deuxième boucle on ne trouve pas de correspondance de dates.
Je te propose cette modification d'une partie du code pour GénérerMenus MMR
'Pour toutes les lignes de la table BD Menus For I = 2 To shBDMenus.Range("BD_Menus[[#All],[Date menu]]").Count 'Si c'est un menu MMR If shBDMenus.Cells(I, 2) = "CD02" Then J = 1 IciBis = 0 'Boucler sur la table Menus MMR pour trouver la date correspondante Do If shBDMenus.Cells(I, 1).Value = shMenusMMR.Cells(J, 1).Value Then IciBis = J 'Copier les valeurs shMenusMMR.Cells(J, 2).Value = shBDMenus.Cells(I, 7).Value 'Légume shMenusMMR.Cells(J, 3).Value = shBDMenus.Cells(I, 16).Value 'Viande shMenusMMR.Cells(J, 4).Value = shBDMenus.Cells(I, 25).Value 'Dessert shMenusMMR.Cells(J, 5).Value = shBDMenus.Cells(I, 32).Value 'Observation End If J = J + 1 Loop Until IciBis > 0 End If Next I
Il faut appliquer également cette modification dans la procédure GénérerMenus MVWE en faisant bien attention aux changements nécessaires.
Je te laisse faire les modifs.
Ces procédures GénérerMenus... ne servent qu'à recréer les Feuilles Menus MMR et VWE quand on les a effacés complètement pour des raisons pratiques de test et mise au point, à condition évidemment que la table BD Menus soit toujours renseigné.
Cordialement
Bonjour ALS35,
J'ai effacé manuellement tous les enregistrements 2019 et 2020 (enfin j'espère). J'ai modifié le code de GénérermenusMMR. À partir de cette feuille code, tout sélectionner, alt, e, p;moduleGénérerMenusVWE : suppression du code existant;copier;remplacer MMR par VWE;modification des cellules concernant MMR par les cellules adéquates de VWE. N'apportes aucune modification mais dis-moi où tu constates une éventuelle erreur (dans le code ou dans les commentaires). Après tes éventuelles réflexions, je modifierai éventuellement ce qui devrait l'être et je créerai des menus MMR et des menus VWE et tenterai d'effacer les données et de les régénérer, étant entendu qu'il ne peut exister qu'une seule année tant dans BD Menus que dans Menus MMR ou Menus VWE.
https://cjoint.com/c/IIvoMiajeK6
D'avance merci.
J'ai effacé manuellement tous les enregistrements 2019 et 2020 (enfin j'espère). J'ai modifié le code de GénérermenusMMR. À partir de cette feuille code, tout sélectionner, alt, e, p;moduleGénérerMenusVWE : suppression du code existant;copier;remplacer MMR par VWE;modification des cellules concernant MMR par les cellules adéquates de VWE. N'apportes aucune modification mais dis-moi où tu constates une éventuelle erreur (dans le code ou dans les commentaires). Après tes éventuelles réflexions, je modifierai éventuellement ce qui devrait l'être et je créerai des menus MMR et des menus VWE et tenterai d'effacer les données et de les régénérer, étant entendu qu'il ne peut exister qu'une seule année tant dans BD Menus que dans Menus MMR ou Menus VWE.
https://cjoint.com/c/IIvoMiajeK6
D'avance merci.
Bonsoir BUDGETS,
Ta BD Menus comporte encore des lignes vides, je ne crois pas que cela soit gênant, mais supprime les quand même. Ta table BD Menus vide ne doit comporter que la ligne des titres et malgré tout une ligne vide que tu ne peux pas supprimer.
Avant de tester GénererMenus, il faut créer des menus correspondants.
A priori pas de soucis pour les MMR, par contre pour les MVWE tu as toujours une erreur dans InsérerDonnéesVWE (non détectable à la compil mais lors de l'exécution), je te laisse la trouver .
Une fois le pb résolu tu crées quelques menus MVWE, tu effaces ta table Menus VWE et tu la régénères (idem pour MMR)
Quand tu testes, il ne faut pas tester seulement une ou deux fois, il faut aller voir aux particularités ou aux limites. Crée des menus le premier et dernier jour du mois, du semestre, les jours fériés de la semaine, du weekend, car c'est justement ça qui sert pour la colonne Observation.
Bon courage
Ta BD Menus comporte encore des lignes vides, je ne crois pas que cela soit gênant, mais supprime les quand même. Ta table BD Menus vide ne doit comporter que la ligne des titres et malgré tout une ligne vide que tu ne peux pas supprimer.
Avant de tester GénererMenus, il faut créer des menus correspondants.
A priori pas de soucis pour les MMR, par contre pour les MVWE tu as toujours une erreur dans InsérerDonnéesVWE (non détectable à la compil mais lors de l'exécution), je te laisse la trouver .
Une fois le pb résolu tu crées quelques menus MVWE, tu effaces ta table Menus VWE et tu la régénères (idem pour MMR)
Quand tu testes, il ne faut pas tester seulement une ou deux fois, il faut aller voir aux particularités ou aux limites. Crée des menus le premier et dernier jour du mois, du semestre, les jours fériés de la semaine, du weekend, car c'est justement ça qui sert pour la colonne Observation.
Bon courage
Je viens de regarder InsérerDonnéesVWE : pour l'instant je n'ai pas encore détecter le problème. Je vais regarder le texte imprimé de insérerdonnéesMMR et comparer et essayer de voir où se trouve l'erreur. Ce n'est pas facile car il faut faire des vas et viens entre les feuilles considérées. La seule erreur (si cela en est une) c'est B19.B20 au lieu de B19:B20
Je ne l'ai pas corrigée. Je vais voir à l'exécution ce que cela va donner. D'autre part, je croyais que . et : avaient la même valeur lors d'une plage de cellules. Pour être franc, je ne sais pas pourquoi cette erreur n'est pas détectée lors de la compilation.
Je viens de créer un MMR et un VWE et je n'ai pas eu d'erreur malgré B19.B20
https://cjoint.com/c/IIvscdV2GB6
Il y a une erreur lors de la génération après la suppression. Je rectifierai demain (il manque une instruction concernant la période viande weekend).
Je viens de créer un MMR et un VWE et je n'ai pas eu d'erreur malgré B19.B20
https://cjoint.com/c/IIvscdV2GB6
Il y a une erreur lors de la génération après la suppression. Je rectifierai demain (il manque une instruction concernant la période viande weekend).
Bonsoir,
Elle est bien bonne celle là. Je viens de tester avec Excel 2010 et effectivement je n'ai pas d'erreur lors de l'exécution !!! Moi j'ai la dernière version d'Excel via Office 365.
D'après Microsoft pour définir une plage de cellule on peut utiliser Range("B19:B20") ou Range ("B19", "B20") Avec un point je n'avais jamais vu, mais on ne connaît pas tout.
Cela dit je te conseille quand même de corriger pour éviter les problèmes de portabilité.
Cette erreur (??) n'est pas détectée lors de la compilation car B19:B20 est entre guillemets, et vba considère par conséquent que c'est une chaine texte qui peut être tout à fait libre comme les messages d'erreurs dans l'instruction Msgbox par exemple. Ce n'est pas un mot réservé ou une déclaration ou un nom de variable, il n'y pas de contrôle.
Je n'ai pas vu le problème de ta dernière phrase.
Cordialement
Elle est bien bonne celle là. Je viens de tester avec Excel 2010 et effectivement je n'ai pas d'erreur lors de l'exécution !!! Moi j'ai la dernière version d'Excel via Office 365.
D'après Microsoft pour définir une plage de cellule on peut utiliser Range("B19:B20") ou Range ("B19", "B20") Avec un point je n'avais jamais vu, mais on ne connaît pas tout.
Cela dit je te conseille quand même de corriger pour éviter les problèmes de portabilité.
Cette erreur (??) n'est pas détectée lors de la compilation car B19:B20 est entre guillemets, et vba considère par conséquent que c'est une chaine texte qui peut être tout à fait libre comme les messages d'erreurs dans l'instruction Msgbox par exemple. Ce n'est pas un mot réservé ou une déclaration ou un nom de variable, il n'y pas de contrôle.
Je n'ai pas vu le problème de ta dernière phrase.
Cordialement
Quand je supprime puis que je génère, la période viande weekend n'est pas reprise. Je t'ai appris donc une chose mais à côté de toi, c'est une mare ce que je t'ai appris tandis que toi tu es une grande mine d'aide. Bonnes soirée, nuit et continuation. À demain.
Bonjour ALS35,
J'ai modifié ModuleVWE-GénérerMenusVWE (code) et maintenant la génération se fait correctement.
Modifier menus midi retraite : c'est bon, pas de problème.
Modifier Menu VWE : problème : feuille modif VWE : pour une date donnée (ici 04 janvier 2020), les renseignements apparaissent bien dans la feuille Modif VWE. Je modifie les champs que j'estime devoir l'être et je clique sur le bouton Valider modification menus VWE et là message d'erreur : la méthode 'Range' de l'objet '-Worksheet' a échoué. Clic sur débogage : le moduleVWE_InsérerMenusVWE apparaît : la ligne suivante est entourée de jaune :
On copie le contenu de cette cellule dans la feuille shBDMenus, colonne A.
shBDMenus.Range("A" & LigneBDMenus).PasteSpecial Paste:=xlPasteValues, Transpose:=True
https://cjoint.com/c/IIwnm0rAvJ6
Merci de me mettre sur la voie si tu constates une ou plusieurs erreurs (cela serait étonnant puisque la création ne pose pas de problèmes). À moins que l'erreur se trouve dans un ou plusieurs autres modules.
Dans le fichier final, il est possible que je supprime tout ce qui est à modifier (code et nom) puisque cela semble ne plus être utile. À moins que tu trouves une solution pour que les cellules O11, P11, Q11 de la feuille shAccueilMenus n'affichent que les dates pour lesquelles À modifier est à Oui.
J'ai modifié ModuleVWE-GénérerMenusVWE (code) et maintenant la génération se fait correctement.
Modifier menus midi retraite : c'est bon, pas de problème.
Modifier Menu VWE : problème : feuille modif VWE : pour une date donnée (ici 04 janvier 2020), les renseignements apparaissent bien dans la feuille Modif VWE. Je modifie les champs que j'estime devoir l'être et je clique sur le bouton Valider modification menus VWE et là message d'erreur : la méthode 'Range' de l'objet '-Worksheet' a échoué. Clic sur débogage : le moduleVWE_InsérerMenusVWE apparaît : la ligne suivante est entourée de jaune :
On copie le contenu de cette cellule dans la feuille shBDMenus, colonne A.
shBDMenus.Range("A" & LigneBDMenus).PasteSpecial Paste:=xlPasteValues, Transpose:=True
https://cjoint.com/c/IIwnm0rAvJ6
Merci de me mettre sur la voie si tu constates une ou plusieurs erreurs (cela serait étonnant puisque la création ne pose pas de problèmes). À moins que l'erreur se trouve dans un ou plusieurs autres modules.
Dans le fichier final, il est possible que je supprime tout ce qui est à modifier (code et nom) puisque cela semble ne plus être utile. À moins que tu trouves une solution pour que les cellules O11, P11, Q11 de la feuille shAccueilMenus n'affichent que les dates pour lesquelles À modifier est à Oui.
Première partie du précédent message : problème résolut. J'avais laisse CD02 au lieu de mettre CD03.
Reste le problème de À modifier à oui.
Reste le problème de À modifier à oui.
Bonsoir,
Très bien, tu avances.
Par contre je n'ai pas vraiment compris quel est le but de "A modifier"
Si c'est "Oui" on peut modifier et supprimer
Si c'est "Non" que doit t-on faire exactement, ne pas modifier ? ne pas supprimer ? et en plus si on l'a mis à "Non" il n'existe actuellement aucun moyen de le remettre à "Oui" (sauf à aller le changer à la main dans la BD)
Par exemple dans la table Produits tu les a tous mis à "Non", donc actuellement tel que c'est codé on ne peut modifier aucun produit mais on peut les supprimer. Est-ce bien cela que tu veux ?
Quel est le but de champ, est-il vraiment utile ?
Cordialement
Très bien, tu avances.
Par contre je n'ai pas vraiment compris quel est le but de "A modifier"
Si c'est "Oui" on peut modifier et supprimer
Si c'est "Non" que doit t-on faire exactement, ne pas modifier ? ne pas supprimer ? et en plus si on l'a mis à "Non" il n'existe actuellement aucun moyen de le remettre à "Oui" (sauf à aller le changer à la main dans la BD)
Par exemple dans la table Produits tu les a tous mis à "Non", donc actuellement tel que c'est codé on ne peut modifier aucun produit mais on peut les supprimer. Est-ce bien cela que tu veux ?
Quel est le but de champ, est-il vraiment utile ?
Cordialement
Si c'est oui, on modifie un ou plusieurs champs, ces modifications devront être prises en compte dans les feuilles shBD Menus et shMenus VWE.
Si c'est non, on ne fait rien et impossibilité de faire quoi que ce soit. Par contre, on peut supprimer. Tel que ton programme est actuellement fait, Code nom à modifier et Nom à modifier deviennent inutiles. Par contre, si il est possible d'avoir uniquement une liste de dates de menu dont la colonne Nom à modifier serait à Oui, alors il faudrait garder ces colonnes.
Enfin, une petite appréciation sur ce que tu fais : si j'étais président de la République, je ferai tout ce qui serait en mon pouvoir pour que la plus haute distinction dans l'ordre des Palmes académiques, du mérite, de la légion d'honneur te soient attribuées.
Je viens de travailler sur supprimer VWE. Je vais le tester. Un clic sur Supprimer menus viandes weekend dans la feuille shAccueilMenus aboutit à une erreur : macro inexistante !
https://cjoint.com/c/IIwrGHMNKl6
Si c'est non, on ne fait rien et impossibilité de faire quoi que ce soit. Par contre, on peut supprimer. Tel que ton programme est actuellement fait, Code nom à modifier et Nom à modifier deviennent inutiles. Par contre, si il est possible d'avoir uniquement une liste de dates de menu dont la colonne Nom à modifier serait à Oui, alors il faudrait garder ces colonnes.
Enfin, une petite appréciation sur ce que tu fais : si j'étais président de la République, je ferai tout ce qui serait en mon pouvoir pour que la plus haute distinction dans l'ordre des Palmes académiques, du mérite, de la légion d'honneur te soient attribuées.
Je viens de travailler sur supprimer VWE. Je vais le tester. Un clic sur Supprimer menus viandes weekend dans la feuille shAccueilMenus aboutit à une erreur : macro inexistante !
https://cjoint.com/c/IIwrGHMNKl6
Oui, je l'ai fait comme pour les autres. attention dans supprimerVWE : tu parles du module ? je n'ai pas trouvé effacer les données... J'ai trouvé, normalement ce sont les bonnes références B et Q. Revois mon fichier du précédent message. Problème résolu : j'avais affecter la macro qui se trouvait dans le module1 que j'ai supprimé. J'ai effacé l'affectation et recréé la nouvelle affectation et cela marche. Maintenant, je vais m'attaquer aux menus journaliers. Dans MenusMMR ou MenusVWE, peux-tu m'expliquer la formule du numéro menu : je n'ai rien compris mais par contre elle me plaît beaucoup : quelle que soit la date du menu et l'ordre de création, le numéro menu prend bien le bon numéro.
Bonsoir,
Dans la procédure SuprimerVWE, je ne suis pas d'accord avec toi pour les données à effacer sur la feuille Menus VWE, (dans la BD Menus c'est ok). Regarde bien ta feuille Menus VWE.
Pour le numéro de menu, comme je te l'ai déjà dit, teste aux limites, crée un menu pour le dernier jour du premier semestre et un autre pour le premier jour du second semestre et tu verras qu'il y a une erreur sur le numéro. l'explication viendra demain.
C'est tout pour ce soir
Cordialement
Dans la procédure SuprimerVWE, je ne suis pas d'accord avec toi pour les données à effacer sur la feuille Menus VWE, (dans la BD Menus c'est ok). Regarde bien ta feuille Menus VWE.
Pour le numéro de menu, comme je te l'ai déjà dit, teste aux limites, crée un menu pour le dernier jour du premier semestre et un autre pour le premier jour du second semestre et tu verras qu'il y a une erreur sur le numéro. l'explication viendra demain.
C'est tout pour ce soir
Cordialement
Si j'ai bien compris, effacer données concerne uniquement la feuille Menus VWE;dans ce cas, par comparaison avec la feuille Menus MMR, ce serait la colonne C qui serait à indiquer puisque la colonne E, dans menus VWE, concerne numéro menus. J'ai testé avec Q et cela a fonctionné.
Pour numéro menu, je t'ai demandé de m'expliquer la formule : elle fonctionne correctement mais je ne l'ai pas comprise.
Bonne nuit. À demain.
Pour numéro menu, je t'ai demandé de m'expliquer la formule : elle fonctionne correctement mais je ne l'ai pas comprise.
Bonne nuit. À demain.
Bonjour BUDGETS,
Dans la feuille Menus VWE que tu as faite, les cellules à effacer sont celles des colonnes B, C et F.
Les colonnes A, D et E comportent des formules qu'il ne faut pas effacer.
Dans la procédure SuprimerVWE l'instruction suivante
shMenusVWE.Range("B" & IciBis & ":" & "Q" & IciBis).ClearContents
efface les cellules, sur la ligne n° IciBis, des colonnes B à Q.
Tu as donc tout effacé, de B à Q même les formules !
Pour le numéro de menu, je t'ai déjà donné un début d'explication dans un fichier Word, regarde le si tu l'as toujours, sinon je te redonnerai les infos, car en plus la feuille Menus VWE est légèrement différente de la feuille Menus MMR.
Cordialement
Dans la feuille Menus VWE que tu as faite, les cellules à effacer sont celles des colonnes B, C et F.
Les colonnes A, D et E comportent des formules qu'il ne faut pas effacer.
Dans la procédure SuprimerVWE l'instruction suivante
shMenusVWE.Range("B" & IciBis & ":" & "Q" & IciBis).ClearContents
efface les cellules, sur la ligne n° IciBis, des colonnes B à Q.
Tu as donc tout effacé, de B à Q même les formules !
Pour le numéro de menu, je t'ai déjà donné un début d'explication dans un fichier Word, regarde le si tu l'as toujours, sinon je te redonnerai les infos, car en plus la feuille Menus VWE est légèrement différente de la feuille Menus MMR.
Cordialement
Bonjour ALS35,
1) Je n'ai toujours pas compris ce qui ne va pas. J'ai testé une suppression dans la feuille Menus VWE. Effectivement les formules disparaissent avec un E dans effacer données. Si je remplace E par C, les formules restent. Par contre, la colonne F ne se vide pas. J'ai donc testé une formule en ajoutant une instruction B et F. Tout disparaît (Données et formules). J'ai testé une autre instruction avec la colonne F uniquement en conservant B et C et là, les données disparaissent mais pas les formules.
2) J'ai toujours le document Word que j'ai imprimé. Je ne comprend toujours pas le mécanisme (très utile malgré tout) qui fait qu'un menu créé pour un samedi du mois de mai alors qu'aucun menu n'a été créé pour les samedis et dimanches précédents (quel que soit le mois d'ailleurs), il va calculer le bon numéro de menu.
3) Modules MR_GénérerMenusMMR, MR_Supprimer MMR, VWE_GénérerMenusVWE, VWE_SupprimerMVWE : voir les commentaires pour tout ce qui concerne I, J et IciBis. Pour les modules MR_ModifierMMR et VWE_ModifiererMVWE : je n'ai pas écrit de commentaires pour Ici et I : I et Ici ont-ils la même signification que dans les modules précédents ?
https://cjoint.com/c/IIxnAa5jGx6
1) Je n'ai toujours pas compris ce qui ne va pas. J'ai testé une suppression dans la feuille Menus VWE. Effectivement les formules disparaissent avec un E dans effacer données. Si je remplace E par C, les formules restent. Par contre, la colonne F ne se vide pas. J'ai donc testé une formule en ajoutant une instruction B et F. Tout disparaît (Données et formules). J'ai testé une autre instruction avec la colonne F uniquement en conservant B et C et là, les données disparaissent mais pas les formules.
2) J'ai toujours le document Word que j'ai imprimé. Je ne comprend toujours pas le mécanisme (très utile malgré tout) qui fait qu'un menu créé pour un samedi du mois de mai alors qu'aucun menu n'a été créé pour les samedis et dimanches précédents (quel que soit le mois d'ailleurs), il va calculer le bon numéro de menu.
3) Modules MR_GénérerMenusMMR, MR_Supprimer MMR, VWE_GénérerMenusVWE, VWE_SupprimerMVWE : voir les commentaires pour tout ce qui concerne I, J et IciBis. Pour les modules MR_ModifierMMR et VWE_ModifiererMVWE : je n'ai pas écrit de commentaires pour Ici et I : I et Ici ont-ils la même signification que dans les modules précédents ?
https://cjoint.com/c/IIxnAa5jGx6
Bonjour,
1) A priori, c'est correct ce que tu as fait dans la procédure SupprimerMVWE, il fallait bien un instruction pour les colonnes B à C shMenusVWE.(Range"B9:C9").ClearContents et une instruction pour uniquement la colonne F shMenusVWE.Range("F9").ClearContents (ici c'est un exemple pour la ligne 9)
Le : dans Range("B9:C9") signifie jusqu'à.
Par contre les formule des colonnes D et E des lignes 9 et 34 de la feuille Menus WE ont disparues et sont à remettre en les recopiant des cellules au dessus
2) Le centre de la formule est l'instruction NBVAL($A$5:A5), le reste c'est de l'enrobage ou presque. Cette instruction permet de compter le nombre de cellule dans la colonne A, à partir de la cellule $A$5 (qui reste fixe car en référence absolue) jusqu'à la ligne courante (ici A5, qui est variable car en référence relative).
Donc NBVAL($A$5:A5) donne 1, c'est le premier menu et sur les cellules en dessous NBVAL($A$5:A6) donne 2, c'est le deuxième menu, et ainsi de suite, on verra pour l'enrobage et le NB.VIDE plus tard.
D'ailleurs tu peux remplacer la formule complète en E5 par simplement NBVAL($A$5:A5), tu la recopie jusqu'en bas du tableau et tu vois ce qui se passe quand tu crées des menus pour diverses dates.
3) Les commentaires semblent corrects et les significations des indices sont en principe toujours les mêmes dans les différentes procédures.
Cordialement
1) A priori, c'est correct ce que tu as fait dans la procédure SupprimerMVWE, il fallait bien un instruction pour les colonnes B à C shMenusVWE.(Range"B9:C9").ClearContents et une instruction pour uniquement la colonne F shMenusVWE.Range("F9").ClearContents (ici c'est un exemple pour la ligne 9)
Le : dans Range("B9:C9") signifie jusqu'à.
Par contre les formule des colonnes D et E des lignes 9 et 34 de la feuille Menus WE ont disparues et sont à remettre en les recopiant des cellules au dessus
2) Le centre de la formule est l'instruction NBVAL($A$5:A5), le reste c'est de l'enrobage ou presque. Cette instruction permet de compter le nombre de cellule dans la colonne A, à partir de la cellule $A$5 (qui reste fixe car en référence absolue) jusqu'à la ligne courante (ici A5, qui est variable car en référence relative).
Donc NBVAL($A$5:A5) donne 1, c'est le premier menu et sur les cellules en dessous NBVAL($A$5:A6) donne 2, c'est le deuxième menu, et ainsi de suite, on verra pour l'enrobage et le NB.VIDE plus tard.
D'ailleurs tu peux remplacer la formule complète en E5 par simplement NBVAL($A$5:A5), tu la recopie jusqu'en bas du tableau et tu vois ce qui se passe quand tu crées des menus pour diverses dates.
3) Les commentaires semblent corrects et les significations des indices sont en principe toujours les mêmes dans les différentes procédures.
Cordialement
Je n'ai pas le temps ce soir, je regarde demain matin.
Cordialement