Incompatibilité de type
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 à toutes et à tous,
Effacer feuille MMR, Générer MMR : tout est ok, cela fonctionne correctement sans message d'erreur.
Effacer feuille MJ : tout est ok, et cela fonctionne correctement sans message d'erreur. Générer MJ : cela ne fonctionne pas : erreur : incompatibilité de type (module MO03_Génération, procédure GénérerMJ, instruction de Si c'est un menu MJ; quand je passe la souris sur cette ligne (comme me l'a conseillé de faire ALS35 lorsque j'ai une erreur, actuellement il reste muet aux messages que je lui envoie, d'où mon recours au forum), rien ne se passe. Sauf erreur ou omission de ma part, le nom de chaque tableau mensuel est correct (à ce sujet, si j'appelle mon tableau TabMJ01, TabMJ02, etc, j'ai une erreur, je ne me souviens plus de laquelle; si j'enlève le zéro, le message d'erreur disparaît : quels sont les critères pour nommer un tableau ?). J'ai rectifié chez moi le nom du tableau du mois de janvier.
D'avance merci pour votre aide et votre (vos) réponse(s)
https://www.cjoint.com/c/KJfj1fZRiIq
Effacer feuille MMR, Générer MMR : tout est ok, cela fonctionne correctement sans message d'erreur.
Effacer feuille MJ : tout est ok, et cela fonctionne correctement sans message d'erreur. Générer MJ : cela ne fonctionne pas : erreur : incompatibilité de type (module MO03_Génération, procédure GénérerMJ, instruction de Si c'est un menu MJ; quand je passe la souris sur cette ligne (comme me l'a conseillé de faire ALS35 lorsque j'ai une erreur, actuellement il reste muet aux messages que je lui envoie, d'où mon recours au forum), rien ne se passe. Sauf erreur ou omission de ma part, le nom de chaque tableau mensuel est correct (à ce sujet, si j'appelle mon tableau TabMJ01, TabMJ02, etc, j'ai une erreur, je ne me souviens plus de laquelle; si j'enlève le zéro, le message d'erreur disparaît : quels sont les critères pour nommer un tableau ?). J'ai rectifié chez moi le nom du tableau du mois de janvier.
D'avance merci pour votre aide et votre (vos) réponse(s)
https://www.cjoint.com/c/KJfj1fZRiIq
A voir également:
- Incompatibilité de type
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Faiblesse type spectre ✓ - Forum Jeux vidéo
J'espère que tu vas bien; Tu n'as pas été malade car je ne recevais rien de toi.
Le fichier qui me sert de modèle n'était pas prévu pour les formulaires. Dans le fichier modèle, les feuilles étaient désignées par sh. Ici, elles sont désignées par fl suivi d'un numéro et d'un nom.
Fichier modèle :
'Si c'est un menu MJ
If shBDMenus.Range("TableMenus[Code menu]").Item(LigneBD) = "CD01" Then
Dans mon fichier :
'Si c'est un menu MJ
If FL08_BDMEN.Range("TBDMenus[NLD]") = "Menu journalier" Then
si je tape la même instruction que dans le fichier modèle avec item(ligneBD), cela me sort une erreur (je ne me souviens pas de laquelle, peut-être un global qui échoue).
J'ai essayé en vain différentes instructions, différents dim sans aucun succès.
Dans le fichier modèle, l'instruction demande un code avec chiffres (CD01"). Dans mon fichier, je demande une chaine de caractères (Menu journalier). Comme les deux dim sont en integer ou en long, il y a donc incompatibilité de type. Donc deux solutions : transformer l'un des dim en string (mais lequel, j'opterai pour le I), soit garder les deux dim comme ils sont déclarés actuellement, et modifier l'instruction de telle manière que ce soit un code (LD02) avec la colonne CLD
Effacer feuille MJ s'exécute bien avec cet inconvénient que tous les tableaux, excepté celui de Janvier (TabMJ1), sont également effacés. Est-ce la raison pour laquelle GénérerMJ ne s'exécutes pas ? Je vais allez voir dans le fichier modèle pour voir si tous les tableaux disparaissent. Résultat : les tableaux restent et la génération s'opère correctement. tests fait sur Nouveaux menus, Menus midi retraite). Donc, je dois revoir le code Effacer feuille MJ de mon fichier avec le code de lEffacer menu, feuille menus midi retraite du fichier nouveaux menus. J'attends avec impatience ta réponse qui va certainement contenir une engueulade, certainement justifiée. Tu vas pouvoir effectuer des tests pour vérifier mes dires. Je crois avoir trouvé : dans la procédure EffacerMenusJournaliers, toutes les cellules sont avec ClearContents (la procédure avait été écrite pour une feuille qui ne contenait pas de tableau structuré), ceci expliquant cela. Donc je vais devoir comparer avec Menus midi retraite du fichier Nouveaux menus. Une dernière chose : certes, je ne suis pas un expert, et je le reconnais, mais un compliment peut, de temps en temps, m'être fait tout de même car j'essaie de comprendre ce qui se passe et ici c'est le cas. D'avance merci pour ton aide et ton éventuel compliment.
https://www.cjoint.com/c/KJftVh2L53q
Effectivement, enfin bien vu, la procédure d'effacement était un problème. Mais si tu faisais correctement les tests à chaque procédure que tu écris, tu aurais du le voir depuis longtemps ! C'est une première étape.
Tu gagnerais également à faire des compilations à chaque modif de code.
Cordialement