Excel - Problème de suppression d'onglets si objets présents - VB/VBA/VBS - Programmation
Marsh Posté le 17-10-2011 à 13:39:48
Je suis désolé, je me suis trompé de bouton et je n'ai pu corrigé les 2 dernières lignes....
Peut-être avez vous déjà rencontré ce problème, c'est pourquoi je ne mets pas le code du fichier test maintenant.
Je vous remercie par avance de l'aide que vous voudrez bien m'apporter.
Marsh Posté le 20-10-2011 à 14:45:19
Hum, la sans bout de code et sans message d'erreur a part te donner des pistes "bateau" je vois pas...
- Onglet non activé ? Si Excel se positionne sur un onglet et que tu veux le supprimer, ca va pas le faire
- Protection de l'onglet ?
- Erreur dans une sortie de boucle ?
- Etc.
Marsh Posté le 20-10-2011 à 15:16:59
Merci pour ta réponse.
Je n'ai pas osé mettre du code car long Toutefois, le voici. (j'aurais bien joint le fichier mais je ne pense pas qu'on puisse le faire)
Ce code est issu de mon fichier test(qui ne reflète mon formulaire contenant plusieurs modules, usrforms etc). il est mis dans un module et lancé à partir d'un bouton.
Tous les onglets sont bien activés, seul l'onglet Feuil2 est masqué.
Pas de protection d'onglets.
Pas de message d'erreur.
Pour information, j'ai soumis le cas ailleurs, et après recherches, il s'avère que pour l'instant, il n'y a pas d'explications sur ce problème.
Merci à toi.
Citation : Public Sub Envoi_DE_HAB_SansVal() |
Marsh Posté le 20-10-2011 à 15:54:12
Nouvelle information suite à réponse d'un forum collègue :
Le problème n'apparaît pas si j'utilise les boutons et cases à cocher de la barre d'outils Formulaire et non les contrôles Active X.
Toutefois, je ne sais pas s'il y a une explication ou non à cela.
Marsh Posté le 20-10-2011 à 15:57:09
Si tu mets un point d'arret sur chaque ligne, il sort du code à quel moment ?
Quel controle ActiveX utilises tu pour la barre ?
Marsh Posté le 20-10-2011 à 16:13:54
Je ne suis pas un pro en developpement mais je vais essayer de te répondre au mieux :
Ma barre de progression contient 2 boutons, plusieurs labels, 2 images.
Dans le menu Outils > Reference de vba j'ai de coché :
Visual Basic for Applications
Microsoft Excel 11.0 objet Library
OLE Automation
Microsoft Forms 2.0 objet Library.
Si je mets des points d'arrêts, un message d'erreur apparaît : impossible d'entre en mode Arret maintenant.
Information complémentaire : il semblerait que le problème soit connu chez microsoft, je n'ai pas tout lu encore (en anglais)
http://support.microsoft.com/kb/155051/en-us
Marsh Posté le 20-10-2011 à 16:27:53
Ah mais ok, c'est toi qui a créé la barre de progression en fait...
Pourquoi ne pas en utiliser une toute prete ?
Un controle ActiveX justement de ProgressBar
Si tu changes la méthode de pause, ca donne quoi ?
Genre :
Code :
|
Marsh Posté le 20-10-2011 à 18:16:33
Je crois qu'à l'époque de la création du fichier, la progressbar ne correspondait pas au besoin ou je ne savais pas l'utiliser (ca fait loin, je ne me rappelle plus trop sans compter qu'aujourd'hui, je ne sais toujours pas l'utiliser car pas cherché à le faire) et je suis partie sur celle-ci.
Il n'y a pas de temps de pause. En fait, ce n'est ni plus ni moins que des labels qui s'affichent au fur et à mesure du déroulement de la macro.
Marsh Posté le 20-10-2011 à 21:12:41
Si tu as des temps de pause :
Application.Wait (Now + TimeValue("0:00:01" ))
Ca, ca fait attendre le process pdt 1seconde. Tres certainement pour laisser le temps aux labels de s'afficher/actualiser.
Essaie avec ce que je t'ai donné.
Marsh Posté le 20-10-2011 à 21:18:48
Oups la boulette..
Ok je vais tester
Merci.
Re
je viens de tester, le problème est identique.
Juste pour m'en assurer, as-tu vu plus haut qu'à priori le problème était connu chez microsoft ?
Merci
Marsh Posté le 17-10-2011 à 13:35:55
Bonjour tout le monde
(Version d'Excel : 2003 - SP3 sous Windows XP - Utilisation de Lotus Notes V6 et V8 pour l'envoi des demandes)
Dans le cadre de mon activité professionnelle, j'ai créé un formulaire de demande de services. Lorsque la demande est envoyée via une macro, une barre de progression apparaît. Maintenant, je souhaiterais supprimer les onglets non utilisés (masqués). Je sais faire cela en vba sans problème mais je rencontre une difficulté liée à la présence d'objets (boutons) sur les onglets cachés.
En effet, pendant le traitement de l'envoi de la demande, la barre de progression apparaît bien mais disparaît avant a fin du traitement sans message d'erreur. Perplexe, je refais une tentative mais en supprimant manuellement les boutons, le problème persiste.
Le fichier contient plusieurs modules et formulaires, pensant que j'avais fais une erreur quelque part, j'ai créé un fichier test sur lequel j'ai mis 2 boutons sur une feuille que j'ai masqué puis j'y ai intégré le code de suppression des onglets masqués. J'ai importé également ma barre de progression. Le problème est identique.
Si je retire les boutons de la feuille et que je ré-ouvre le fichier après sauvegarde, le problème n'apparaît pas.
J'ai demandé de l'aide sur quelques forums spécialisés. Le seul retour que j'ai eu était un message m'informant que la personne avait passé la matinée à trouver une solution, du moins la cause de l'erreur et a "laissé" la main à qui voudrait bien se pencher sur le problème.
J'espère avoir été clair dans mon exposition
Je vous remercie vivement par avance pour votre aide.