le 05-11-2018 10:12 AM
Bonjour à tous j'ai un bug bizarre dans labview en utilisant activex, je souhaite ecrire dans excel en envoyant un nom d'index et labview trouve la bonne page sur excel pour entrer les valeurs (dans mon vi c'est les valeurs rlc 2, rcv 2 rit et rpm) dans les colonnes correspondante (il fait une recherche sur la ligne 3 cf fichier classeur 1),
là ou ca bug c'est lorsque j'envoie un mauvais nom de page/index, le programme s'arrête bien sur la dernière page, le booléen index not found s'allume correctement mais lorsque je corrige le nom il y a une erreur puis lorsque je relance c'est bon, je pense qu'il y a un bug à la fermeture lorsque l'index n'est pas trouvé car si je veux ouvrir manuellement il se met en lecture seul comme si il était déjà ouvert, une fois l'ecriture effectué correctement je peu ouvrir normalement
la partie qui cherche le nom de l'index est la boucle while en bas à gauche du VI, en bas à droite il y a une grosse sturcture condition qui est vrai lorsque l'index est trouvé (dans ce cas tt est ok donc pas la peine d'essayer de comprendre le long code qui est dedans) et est fausse lorsque l'index n'est pas trouvé, il y a juste un passage des ref et msg d'erreur pour aller les fermer
je ne comprend pas d'où vient le bug quelqu'un pourrait m'aider svp ?
Je vous remercie d'avance
ps:dsl le code n'est pas très "propre", j'espère que c'est quand même lisible
Résolu ! Accéder à la solution.
le 05-11-2018 10:10 AM
Bonjour à tous j'ai un bug bizarre dans labview en utilisant activex, je souhaite ecrire dans excel en envoyant un nom d'index et labview trouve la bonne page sur excel pour entrer les valeurs (dans mon vi c'est les valeurs rlc 2, rcv 2 rit et rpm) dans les colonnes correspondante (il fait une recherche sur la ligne 3 cf fichier classeur 1),
là ou ca bug c'est lorsque j'envoie un mauvais nom de page/index, le programme s'arrête bien sur la dernière page, le booléen index not found s'allume correctement mais lorsque je corrige le nom il y a une erreur puis lorsque je relance c'est bon, je pense qu'il y a un bug à la fermeture lorsque l'index n'est pas trouvé car si je veux ouvrir manuellement il se met en lecture seul comme si il était déjà ouvert, une fois l'ecriture effectué correctement je peu ouvrir normalement
la partie qui cherche le nom de l'index est la boucle while en bas à gauche du VI, en bas à droite il y a une grosse sturcture condition qui est vrai lorsque l'index est trouvé (dans ce cas tt est ok donc pas la peine d'essayer de comprendre le long code qui est dedans) et est fausse lorsque l'index n'est pas trouvé, il y a juste un passage des ref et msg d'erreur pour aller les fermer
je ne comprend pas d'où vient le bug quelqu'un pourrait m'aider svp ?
Je vous remercie d'avance
ps:dsl le code n'est pas très "propre", j'espère que c'est quand même lisible
le 05-11-2018 01:43 PM
Je ne comprend pas vraiment ce que tu veux dire par : "mais lorsque je corrige le nom il y a une erreur puis lorsque je relance c'est bon". Il me semble que tu dois écrire le nom de l'index avant de lancer le programme car la boucle while de validation s'effectue rapidement. Tu dois donc relancer l'application à chaque fois non?
Tu sais que tu peux utiliser le nom de l'index directement avec le noeud de méthode Sheets.Item? Workbook.Worksheets et Sheets.Count devraient être devant la boucle while, c'est peut-être la cause de ton problème.
À la place, tu pourrais lister toutes les pages de ton workbook dans un combo box pour ensuite sélectionner la bonne page comme dans l'exemple suivant:
Ben64
le 05-11-2018 05:09 PM
ci de la réponse, je voulais dire par là que lorsque je lance le programme avec un nom d'index faux puis un bon nom d'index (je relance à chaque fois le prgramme) j'ai un message d'erreur puis quand je relance encore une fois c'est bon c'est étrange
le 05-11-2018 08:17 PM
Salut Louis,
Pourrais-tu stp nous donner une démarche en plusieurs étapes pour reproduire ton erreur ?
A quel endroit dans ton code observes-tu ton erreur justement ?
le 05-12-2018 04:07 AM
salut voici un fichier excel avec des screenshot, la méthode de combo box me semble pertinente comment on en crée un ? (je ne peu pas prendre direct le vi car on a pas la même version)
le 05-12-2018 04:50 AM
salut voici un fichier excel avec des screenshot, la méthode de combo box me semble pertinente comment on en crée un ? (je ne peu pas prendre direct le vi car on a pas la même version)
05-12-2018 07:52 AM - modifié 05-12-2018 08:06 AM
Merci ! 🙂
Est-ce que tu pourrais nous envoyer le sous-VI nbre en colonne XLS s'il te plait ? Je n'arrive pas à reproduire l'erreur sans.
Ma supposition est qu'une erreur empêche le fichier de se fermer correctement et que donc quand tu relances ton VI, l'ouverture du fichier déjà ouvert pose problème. Mais c'est juste une supposition...
le 05-12-2018 08:18 AM
cela semble logique que ce soit un bug de ce type pourtant je ferme autant de référence dans les deux cas (cas où l'index est trouvé et cas ou il ne l'est pas)
05-12-2018 08:33 AM - modifié 05-12-2018 08:35 AM
As-tu essayé de monitorer ton code et d'identifier la fonction qui retourne l'erreur lors de la dernière exécution ?
De mon côté je n'arrive pas à reproduire en changeant le nom de la feuille... Pour info, j'utilise Excel 2007.