Problème visual basic

Logiciel GMAO

a marqué ce sujet comme résolu.

Bonjour,

J’utilise actuellement un fichier avec un petit programme sous excel pour la gestion de contrôles réglementaire, j’ai un soucis lorsque je clique sur le bouton "tous contrôles et actions" cela m’affiche un message "erreur d’exécution '13' : incompatibilité de type" et quand je lance le débogage voici ce que j’ai:

acceuil prog.png
acceuil prog.png
impecran.png
impecran.png

Sauriez-vous m’aider à solutionner ce problème ?

Je précise que je n’y connais absolument rien en virtual basic :lol:

Merci d’avance ;)

Salut,

Tu obtiens cette erreur parce que la valeur retournée par xmoy ici ne peut pas être affectée à la variable de type double moyen.

En passant la souris sur les éléments en jaune, tu peux voir les valeurs, ce qui peut aider à comprendre. Tu peux aussi mettre un point d’arrêt dans la fonction xmoy (si tu fais F8 en jaune tu peux dérouler normalement) pour voir où ça pêche. J’émets l’hypothèse que le problème vient de la valeur tr qui lui est fournie.

Si tu as un peu de temps, voici une aide au débogage : https://zestedesavoir.com/billets/4433/deboguer-ses-macros-vba-dans-excel/

+1 -0

J’émets l’hypothèse que le problème vient de la valeur tr qui lui est fournie.

Si tu as un peu de temps, voici une aide au débogage : https://zestedesavoir.com/billets/4433/deboguer-ses-macros-vba-dans-excel/

Vk

Bonjour

Surement une bonne piste sachant que tr = .Cell(i, 1) est un Range … https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.cells (version anglaise car la version FR est ambiguë ! )

je ne sais pas ce que fais xmoy (ça ne semble pas être une fonction native) mais si c’est une moyenne alors un nombre semble plus approprié

par contre, je ne connaissais pas cette syntaxe (avec les :) mais pour moi, elle est à bannir ! :diable:

+0 -0

Surement une bonne piste sachant que tr = .Cell(i, 1) est un Range … https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.cells (version anglaise car la version FR est ambiguë ! )

DonKnacki

La lecture d’une cellule donne bien sa valeur, mais c’est vrai que la doc n’est pas très parlante :

Debug.Print (VarType(Sheets(1).Cells(1, 1))) ' 5 pour double

(par contre le comportement est différent avec les Range)

Je pense que c’est la valeur contenue dans cette cellule qui peut poser problème (vide ?)

par contre, je ne connaissais pas cette syntaxe (avec les :) mais pour moi, elle est à bannir ! :diable:

DonKnacki

Pareil, je trouve cette notation moins lisible aussi, mais apparemment ce n’est pas lui l’auteur du code, donc ça complique également sa compréhension ^^

+0 -0

Hello,

A tout hasard, tu n’as pas la possibilité de retrouver Denis Dalmont, l’auteur du programme ?

edgarjacobs

Salut,

Malheureusement il est décédé il y a quelques années, j’ai réussi à trouver un fichier d’une personne qui à craqué le mdp mais je n’ai pas les connaissances nécessaire pour creuser tout ça…

Salut,

Tu obtiens cette erreur parce que la valeur retournée par xmoy ici ne peut pas être affectée à la variable de type double moyen.

En passant la souris sur les éléments en jaune, tu peux voir les valeurs, ce qui peut aider à comprendre. Tu peux aussi mettre un point d’arrêt dans la fonction xmoy (si tu fais F8 en jaune tu peux dérouler normalement) pour voir où ça pêche. J’émets l’hypothèse que le problème vient de la valeur tr qui lui est fournie.

Si tu as un peu de temps, voici une aide au débogage : https://zestedesavoir.com/billets/4433/deboguer-ses-macros-vba-dans-excel/

Vk

Salut voila les valeurs que j’ai quand je passe la souris dessus:

debug1.png debug3.png

Visiblement c’est un freeware uploadé en 2011 : https://excel-pratique.com/fr/telechargements/outils-de-gestion/maintenance-no53

Vk

Ah, ok. Désolé pour mon manque d’information.

edgarjacobs

Y’a pas de mal, j’ai juste poussé ton idée plus loin en faisant une recherche google :D

@Adel44 et si tu passe la souris sur moyen tu as combien ? du coup on peut voir que c’est la valeur de la Feuil2 cellule R19 qui est utilisée ici quelle est-elle ?

+0 -0

Y’a pas de mal, j’ai juste poussé ton idée plus loin en faisant une recherche google :D

@Adel44 et si tu passe la souris sur moyen tu as combien ? du coup on peut voir que c’est la valeur de la Feuil2 cellule R19 qui est utilisée ici quelle est-elle ?

Vk

Salut,

Sur moyen j’ai la valeur =1 qui s’affiche. Il n’y a rien dans la cellule R19 de la feuil2 …

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte