Incompatibilité de type
Résolu/Fermé
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
-
31 oct. 2016 à 22:12
BUDGETS Messages postés 1563 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 23 décembre 2024 - 11 nov. 2016 à 13:06
BUDGETS Messages postés 1563 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 23 décembre 2024 - 11 nov. 2016 à 13:06
A voir également:
- Incompatibilité de type vba
- Erreur d'exécution 13 Incompatibilité de type ✓ - Forum Programmation
- Erreur d'exécution '13': Incompatibilité de Type ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Erreur exécution 13 : incompatibilité de type ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
29 réponses
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
6 nov. 2016 à 22:29
6 nov. 2016 à 22:29
Merci Patrice.
Je vais imprimer ton message puis modifier les appels callCréermenusjournaliers et call Remplacermenusjournaliers, les procédures public sub Créermenusjournaliers et public sub Remplacermenusjournaliers et le code d'écriture/lecture dans le fichier Classeur menus.
Bonnes nuit et continuation.
Je vais imprimer ton message puis modifier les appels callCréermenusjournaliers et call Remplacermenusjournaliers, les procédures public sub Créermenusjournaliers et public sub Remplacermenusjournaliers et le code d'écriture/lecture dans le fichier Classeur menus.
Bonnes nuit et continuation.
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
6 nov. 2016 à 22:34
6 nov. 2016 à 22:34
Public Mesmenusjouranliers : c'est une erreur de frappe, il faut lire journaliers.
D'autre part, je suis basé sur le livre dont je t'ai déjà parlé, j'ai compris certaines choses, pas les autres et je l'ai modifié bêtement (il faut le reconnaître) pour qu'il corresponde à ce que je voulais.
D'autre part, je suis basé sur le livre dont je t'ai déjà parlé, j'ai compris certaines choses, pas les autres et je l'ai modifié bêtement (il faut le reconnaître) pour qu'il corresponde à ce que je voulais.
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
Modifié par BUDGETS le 7/11/2016 à 19:26
Modifié par BUDGETS le 7/11/2016 à 19:26
Bonsoir Patrice,
J'espère que tu vas bien et que tu as passé une bonne journée.
Je vaiq recommencer tout depuis le départ à partir des renseignements que tu as eu la gentillesse de me fournir.
Tous les fichiers légumes, viandes, desserts (codes, noms, jours, conditionnement, destinations) serviront à exécuter les fichiers listes de choix (légumes, viandes, desserts) lesquels seront utiles pour créer le fichier Menus auxquels s'adjoindront les fichiers observations et mois concernés.
Dans l'hypothèse où j'aurai un problème quelconque, pourrais-je continuer à compter sur ton aide précieuse ?
Si tu as une idée et si cela est possible, pourrait-on envisager que dans le fichier Menus.xltm, si je tape un code légume par exemple, que tout le reste puisse s'inscrire directement à l'écran (nom du légume, jour légume, conditionnement légume, destination légumes) ?
Bonnes soirée et continuation.
BUDGETS
J'espère que tu vas bien et que tu as passé une bonne journée.
Je vaiq recommencer tout depuis le départ à partir des renseignements que tu as eu la gentillesse de me fournir.
Tous les fichiers légumes, viandes, desserts (codes, noms, jours, conditionnement, destinations) serviront à exécuter les fichiers listes de choix (légumes, viandes, desserts) lesquels seront utiles pour créer le fichier Menus auxquels s'adjoindront les fichiers observations et mois concernés.
Dans l'hypothèse où j'aurai un problème quelconque, pourrais-je continuer à compter sur ton aide précieuse ?
Si tu as une idée et si cela est possible, pourrait-on envisager que dans le fichier Menus.xltm, si je tape un code légume par exemple, que tout le reste puisse s'inscrire directement à l'écran (nom du légume, jour légume, conditionnement légume, destination légumes) ?
Bonnes soirée et continuation.
BUDGETS
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
7 nov. 2016 à 22:35
7 nov. 2016 à 22:35
Bonsoir Patrice,
J'ai refait mon premier fichier en tenant compte du modèle ci-dessus.
À l'exécution, j'ai le message d'erreur un module n'est pas un type valide. Voir les fichiers joints.
https://www.cjoint.com/c/FKhvIcg8xgJ
Classeur codes légumes.xlsx
https://www.cjoint.com/c/FKhvJaHibIJ
Codes légumes.xltm
BUDGETS
J'ai refait mon premier fichier en tenant compte du modèle ci-dessus.
À l'exécution, j'ai le message d'erreur un module n'est pas un type valide. Voir les fichiers joints.
https://www.cjoint.com/c/FKhvIcg8xgJ
Classeur codes légumes.xlsx
https://www.cjoint.com/c/FKhvJaHibIJ
Codes légumes.xltm
BUDGETS
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
7 nov. 2016 à 22:44
7 nov. 2016 à 22:44
Bonsoir Patrice,
J'ai refait mon premier fichier (Codes légumes.xltm) en tenant compte de l'exemple ci-dessus.
À l'exécution, j'ai le message d'erreur un module n'est pas un type valable.
Voir les deux fichiers joints.
https://www.cjoint.com/c/FKhvPmQnY5J
Classeur codes légumes.xlsx
https://www.cjoint.com/c/FKhvP5tvG0J
Codes légumes.xltm
Faut-il prévoir également, comme dans les précédents fichiers, le tri et l'enregistrement du fichier Classeur codes légumes, la mise à jour de la liste déroulante, l'initialisation de l'UserForm, l'ajout de tous les codes légumes ?
Bonnes soirée et continuation.
J'ai refait mon premier fichier (Codes légumes.xltm) en tenant compte de l'exemple ci-dessus.
À l'exécution, j'ai le message d'erreur un module n'est pas un type valable.
Voir les deux fichiers joints.
https://www.cjoint.com/c/FKhvPmQnY5J
Classeur codes légumes.xlsx
https://www.cjoint.com/c/FKhvP5tvG0J
Codes légumes.xltm
Faut-il prévoir également, comme dans les précédents fichiers, le tri et l'enregistrement du fichier Classeur codes légumes, la mise à jour de la liste déroulante, l'initialisation de l'UserForm, l'ajout de tous les codes légumes ?
Bonnes soirée et continuation.
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
8 nov. 2016 à 15:17
8 nov. 2016 à 15:17
Bonjour Patrice,
J'ai essayé différentes modifications mais cela ne marche pas. Voir mes messages d'hier soir avec les deux fichiers joints.
Bonnes journée et continuation.
J'ai essayé différentes modifications mais cela ne marche pas. Voir mes messages d'hier soir avec les deux fichiers joints.
Bonnes journée et continuation.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 8/11/2016 à 15:53
Modifié par Patrice33740 le 8/11/2016 à 15:53
Bonjour,
Tout reprendre à zéro est un bon début.
Cependant, pour que je puisse t'aider de façon constructive, il faut impérativement que je comprenne les différents objectifs du projet, ce qui est loin d'être le cas actuellement.
Il faut notamment que tu me précises la raison de certains choix qui m'échappent totalement :
1 - Pourquoi le Classeur Légumes est-il au format xltm (modèle) plutôt que xlsm (fichier normal avec macros) ?
2 - A quoi sert-il exactement ? : on peut seulement ajouter des codes mais pas les supprimer ni les modifier.
3 - Pourquoi ne pas simplement corriger directement le fichier « Classeur codes légumes » de façon manuelle ?
4 - Dans le cas ou l'utilité du formulaire serait avérée, pourquoi ne pas le mettre dans le même fichier que les codes ?
J'ai encore de très nombreuses interrogations, notamment pourquoi autant de fichiers lorsqu'un ou deux suffiraient, mais cela viendra plus tard, commençons par le début.
Pour répondre à ta question : « j'ai le message d'erreur un module n'est pas un type valable », c'est tout à fait normal :
On ne peut pas commencer à écrire une nouvelle procédure à l'intérieur d'une autre. Il faut impérativement terminer la précédente (par End Sub) avant d'en commencer une nouvelle.
Pour éviter ce genre de problème tu devrais indenter ton code, comme indiqué page 43 de cet Excellent Cours VBA que je t'ai déja conseillé au post 30 : ici. Cela permet de se rendre compte immédiatement qu'il manque une partie du code.
Cordialement
Patrice
Tout reprendre à zéro est un bon début.
Cependant, pour que je puisse t'aider de façon constructive, il faut impérativement que je comprenne les différents objectifs du projet, ce qui est loin d'être le cas actuellement.
Il faut notamment que tu me précises la raison de certains choix qui m'échappent totalement :
1 - Pourquoi le Classeur Légumes est-il au format xltm (modèle) plutôt que xlsm (fichier normal avec macros) ?
2 - A quoi sert-il exactement ? : on peut seulement ajouter des codes mais pas les supprimer ni les modifier.
3 - Pourquoi ne pas simplement corriger directement le fichier « Classeur codes légumes » de façon manuelle ?
4 - Dans le cas ou l'utilité du formulaire serait avérée, pourquoi ne pas le mettre dans le même fichier que les codes ?
J'ai encore de très nombreuses interrogations, notamment pourquoi autant de fichiers lorsqu'un ou deux suffiraient, mais cela viendra plus tard, commençons par le début.
Pour répondre à ta question : « j'ai le message d'erreur un module n'est pas un type valable », c'est tout à fait normal :
On ne peut pas commencer à écrire une nouvelle procédure à l'intérieur d'une autre. Il faut impérativement terminer la précédente (par End Sub) avant d'en commencer une nouvelle.
Pour éviter ce genre de problème tu devrais indenter ton code, comme indiqué page 43 de cet Excellent Cours VBA que je t'ai déja conseillé au post 30 : ici. Cela permet de se rendre compte immédiatement qu'il manque une partie du code.
Cordialement
Patrice
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
Modifié par crapoulou le 9/11/2016 à 00:46
Modifié par crapoulou le 9/11/2016 à 00:46
Dans le fichier joint, réponses à tes questions.
Si c'est plus facile pour toi, voici mon adresse mail (tu ne m'as répondu à ce sujet) : xxx@wanadoo.fr
https://www.cjoint.com/c/FKiuPCjB7RJ
(Adresse mail supprimée par la Modération CCM)
Si c'est plus facile pour toi, voici mon adresse mail (tu ne m'as répondu à ce sujet) : xxx@wanadoo.fr
https://www.cjoint.com/c/FKiuPCjB7RJ
(Adresse mail supprimée par la Modération CCM)
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 9/11/2016 à 00:58
Modifié par Patrice33740 le 9/11/2016 à 00:58
Re,
Désolé il manque un mot dans ma première question et ça change toutes les réponses qui en découlent. :
1 - Pourquoi le classeur (ou fichier) Codes Légumes.xltm est-il au format xltm (modèle) plutôt que xlsm (fichier normal avec macros) ?
et en 4, il s'agit des codes VBA !
Un exemple d'indentation du code VBA : http://www.gaboly.com/VBA/Indentation.html
Désolé il manque un mot dans ma première question et ça change toutes les réponses qui en découlent. :
1 - Pourquoi le classeur (ou fichier) Codes Légumes.xltm est-il au format xltm (modèle) plutôt que xlsm (fichier normal avec macros) ?
et en 4, il s'agit des codes VBA !
Un exemple d'indentation du code VBA : http://www.gaboly.com/VBA/Indentation.html
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
>
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
9 nov. 2016 à 16:55
9 nov. 2016 à 16:55
Bonjour Patrice,
J'espère que tu vas bien.
Je viens d'écrire le code de public sub RemplacerCodeslégumes et public sub XréerCodeslégumes. Exécution : message d'erreur : Un module n'est pas un type valide.
Bonnes fin de journée et continuation.
Les deux fichiers classeur codes légumes.xlsx et Codeslégumes.xltm
https://www.cjoint.com/c/FKjp1TelLJJ
https://www.cjoint.com/c/FKjp2wtzzhJ
J'espère que tu vas bien.
Je viens d'écrire le code de public sub RemplacerCodeslégumes et public sub XréerCodeslégumes. Exécution : message d'erreur : Un module n'est pas un type valide.
Bonnes fin de journée et continuation.
Les deux fichiers classeur codes légumes.xlsx et Codeslégumes.xltm
https://www.cjoint.com/c/FKjp1TelLJJ
https://www.cjoint.com/c/FKjp2wtzzhJ
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
>
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
9 nov. 2016 à 17:27
9 nov. 2016 à 17:27
Bonjour Patrice,
J'ai fait des modifications dans le code de public sub Créercodeslégumes et de public sub Remplacer codes légumes. Je ne sais pas si cela correspond à ce que tu avais en tête mais ça marche.
Nouveau fichier Codes légumes.xltm
https://www.cjoint.com/c/FKjqBezfarJ
J'ai fait des modifications dans le code de public sub Créercodeslégumes et de public sub Remplacer codes légumes. Je ne sais pas si cela correspond à ce que tu avais en tête mais ça marche.
Nouveau fichier Codes légumes.xltm
https://www.cjoint.com/c/FKjqBezfarJ
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 9/11/2016 à 19:31
Modifié par Patrice33740 le 9/11/2016 à 19:31
Bonjour,
Voici en retour le fichier de macro Code légumes.xlsm :
https://www.cjoint.com/c/FKjsas60lLm
P.S. : je l'ai mis au format normal des macro (xlsm) car tu ne m'as toujours pas dit pourquoi tu utilises le format xltm.
J'ai supprimé une partie ce qui est inutile (il en reste encore) : ce code fonctionne exactement comme le tien (il en reste encore des lignes inutiles que j'ai laissées pour conserver le même fonctionnement, où plutôt le même dysfonctionnement).
J'ai indenté le code pour que tu voies ce que ça présente comme avantage.
Je vois que tu ne comprends le fonctionnement des variables en programmation :
- il est inutiles de déclarer des variables si on ne les utilise pas.
- chaque variable doit être déclarée pour la portée dans laquelle elle est utilisée.
- le type des chaque variable doit correspondre à l'utilisation qu'on va en faire.
Tu t'es lancé dans ce développement en te disant que tu verrais au fur et à mesure plutôt que faire l'analyse préalable (indispensable) de ton besoin : « je suis preneur pour que Menus.xltm soit rempli automatiquement à partir des codes légumes, codes viandes et codes desserts » et de réfléchir à la façon d'obtenir ce résultat (tu aurais du commencer par ça).
Pour réaliser ce projet, il est évident que tu aura besoin d'une base de données correspondant, de préférence unique et qu'en aucun cas tu pourra résoudre ce problème avec une multitude de petits fichiers sans aucun lien entre eux. Il faut donc commencer par structurer cette base de données.
Compte tenu de sa simplicité, l'ensemble de ton projet devrait tenir dans un fichier unique contenant la base de données et toutes les macros.
Patrice
Voici en retour le fichier de macro Code légumes.xlsm :
https://www.cjoint.com/c/FKjsas60lLm
P.S. : je l'ai mis au format normal des macro (xlsm) car tu ne m'as toujours pas dit pourquoi tu utilises le format xltm.
J'ai supprimé une partie ce qui est inutile (il en reste encore) : ce code fonctionne exactement comme le tien (il en reste encore des lignes inutiles que j'ai laissées pour conserver le même fonctionnement, où plutôt le même dysfonctionnement).
J'ai indenté le code pour que tu voies ce que ça présente comme avantage.
Je vois que tu ne comprends le fonctionnement des variables en programmation :
- il est inutiles de déclarer des variables si on ne les utilise pas.
- chaque variable doit être déclarée pour la portée dans laquelle elle est utilisée.
- le type des chaque variable doit correspondre à l'utilisation qu'on va en faire.
Tu t'es lancé dans ce développement en te disant que tu verrais au fur et à mesure plutôt que faire l'analyse préalable (indispensable) de ton besoin : « je suis preneur pour que Menus.xltm soit rempli automatiquement à partir des codes légumes, codes viandes et codes desserts » et de réfléchir à la façon d'obtenir ce résultat (tu aurais du commencer par ça).
Pour réaliser ce projet, il est évident que tu aura besoin d'une base de données correspondant, de préférence unique et qu'en aucun cas tu pourra résoudre ce problème avec une multitude de petits fichiers sans aucun lien entre eux. Il faut donc commencer par structurer cette base de données.
Compte tenu de sa simplicité, l'ensemble de ton projet devrait tenir dans un fichier unique contenant la base de données et toutes les macros.
Patrice
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
Modifié par BUDGETS le 8/11/2016 à 17:16
Modifié par BUDGETS le 8/11/2016 à 17:16
Bonjour Patrice,
Normalement le classeur Légumes est de format xlsm (enfin chez moi).
J'envisage de créer des formulaires afin de prévoir mes menus 2017. Jusqu'ici, je le faisais avec des clics et je me suis inspiré de mes menus 2016 pour créer mes formulaires pour les menus 201.
Pour 2016, il y avait une feuille Paramètres, une feuille saisie, et différentes feuilles pour recevoir les données (menus midi retraite, menus journaliers, menus viandes week-end) et trois feuilles pour calculer les quantités (quantités légumes, quantités viandes, quantités desserts) qui se remplissaient à partir des trois feuilles menus grâce à des fonctions.
La feuille paramètre a été remplacée par les fichiers codes légumes, codes desserts, codes viandes, codes observations, légumes, desserts, viandes, etc. À partir de ces différentes ficjiers, j'ai créé les fichiers liste de choix Légumes, liste de choix viandes, liste de choix desserts qui se remplissent à partir des fichiers codes, légumes, viandes,etc de format xlsx. Le fichier menus.xltm est rempli à partir des trois fichiers Liste de choix légumes, liste de choix viandes, liste de choix desserts, liste de choix observations, ainsi que du classeur Mois concernés.xlsm. Ce qui serait bien c'est que le fichier Menus.xltm se remplisse automatiquement à partir des classeurs listes de choix : exemple : je tape un code légumes : les données légumes, jours légumes, conditionnement légumes, destination légumes correspondant à ce code devraient surgir alors automatiquement, quitte à transformer les cbo en zone de texte ou autre pouvant accepter cette manipulation. Voir fichier Menus 2015.xlsm joint.
https://www.cjoint.com/c/FKipxd5XcLJ
Initialement, je pensais créer des fichiers modèles pour m'en servir l'année suivante (d'où XLTM);vu la manière dont cela fonctionne, il est possible que des fichiers XSLM suffisent.
Voilà pour l'instant, une première réponse.
Je viens d'imprimer les deux livres dont tu m'as parlé (lex variables en vba excel et formation excel)
Merci pour ton aide très précieuse.
Bonnes fin de journée et continuation.
ps : excuses-mo si tu me trouves répétif pour les début et fin de message (bonjour Patrice, merci pour ton aide... et bonnes fin de journée et continuation), mais quand commencé à fréquenter le forum, je ne le mettais pas et j'ai eu des réflexions et même des insultes pour mon impolitesse.
BUDGETS
Normalement le classeur Légumes est de format xlsm (enfin chez moi).
J'envisage de créer des formulaires afin de prévoir mes menus 2017. Jusqu'ici, je le faisais avec des clics et je me suis inspiré de mes menus 2016 pour créer mes formulaires pour les menus 201.
Pour 2016, il y avait une feuille Paramètres, une feuille saisie, et différentes feuilles pour recevoir les données (menus midi retraite, menus journaliers, menus viandes week-end) et trois feuilles pour calculer les quantités (quantités légumes, quantités viandes, quantités desserts) qui se remplissaient à partir des trois feuilles menus grâce à des fonctions.
La feuille paramètre a été remplacée par les fichiers codes légumes, codes desserts, codes viandes, codes observations, légumes, desserts, viandes, etc. À partir de ces différentes ficjiers, j'ai créé les fichiers liste de choix Légumes, liste de choix viandes, liste de choix desserts qui se remplissent à partir des fichiers codes, légumes, viandes,etc de format xlsx. Le fichier menus.xltm est rempli à partir des trois fichiers Liste de choix légumes, liste de choix viandes, liste de choix desserts, liste de choix observations, ainsi que du classeur Mois concernés.xlsm. Ce qui serait bien c'est que le fichier Menus.xltm se remplisse automatiquement à partir des classeurs listes de choix : exemple : je tape un code légumes : les données légumes, jours légumes, conditionnement légumes, destination légumes correspondant à ce code devraient surgir alors automatiquement, quitte à transformer les cbo en zone de texte ou autre pouvant accepter cette manipulation. Voir fichier Menus 2015.xlsm joint.
https://www.cjoint.com/c/FKipxd5XcLJ
Initialement, je pensais créer des fichiers modèles pour m'en servir l'année suivante (d'où XLTM);vu la manière dont cela fonctionne, il est possible que des fichiers XSLM suffisent.
Voilà pour l'instant, une première réponse.
Je viens d'imprimer les deux livres dont tu m'as parlé (lex variables en vba excel et formation excel)
Merci pour ton aide très précieuse.
Bonnes fin de journée et continuation.
ps : excuses-mo si tu me trouves répétif pour les début et fin de message (bonjour Patrice, merci pour ton aide... et bonnes fin de journée et continuation), mais quand commencé à fréquenter le forum, je ne le mettais pas et j'ai eu des réflexions et même des insultes pour mon impolitesse.
BUDGETS
BUDGETS
Messages postés
1563
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
23 décembre 2024
8 nov. 2016 à 17:42
8 nov. 2016 à 17:42
Voici le nouveau fichier Codes légumes sans les procédure CréerCodeslégumes ni RemplacerCodesLégumes. J'espère avoir compris ton observations puisque j'ai déplacé les deux procédures après un end sub. Que penses-tu de ce nouveau fichier ? Faut-il prévoir un tri et un enregistrement du classeur Codes légumes.xlsx ? Une mise à jour de la liste déroulante est-elle toujours nécessaire ? L'initialisation de l'UserForm frmCodeslégumes est-elle toujours obligatoire ? Merci de me répondre à ces différentes questions afin que j'apporte les modification adéquates.
https://www.cjoint.com/c/FKiqNARjk4J
https://www.cjoint.com/c/FKiqNARjk4J