Maudits soient les Frames !

GeoTrouvePas

XLDnaute Impliqué
Bonjour tout le monde !

Trop c'est trop ! Voilà deux fois que mon classeur plante cette après midi en me faisant perdre quelques heures de boulot.

J'explique :
J'ai un classeur contenant une bonne vingtaine de userforms, 1 300 contrôles et quelques 8 000 lignes de code. Cela fait des mois que je bosse dessus comme un acharné et je me demande si vba ne commencerait pas à atteindre un peu ses limites.

En effet, cela fait plusieurs fois qu'aucun moment d'afficher un userform pour tester, j'ai deux messages d'erreur successifs qui s'affichent : "Erreur d'accés Chemin/Fichier" puis "Erreur d'exécution '361' : Impossible de charger ou de décharger cet objet".

Après avoir pas mal gratté, je me rend compte que la plupart de mes userforms ne peuvent plus du tout être affichés et qu'aucun copier/coller vers un nouveau classeur n'est possible.

Après encore plus de grattage, il apparaît que tous les contrôles contenant ou étant contenus dans un frame posent problème. Il est même impossible de les supprimer (Message d'erreur lors de la tentative de suppression : "Impossible de supprimer lescontrôles. Appel inattendu à un accès méthode ou une propriété" (la faute de frappe est authentique :p)).

Il m'est de plus impossible d'enregistrer mon fichier.

Je ne l'ai bien entendu pas déplacé pendant que je bossais dessus, il n'y a pas de lecture seule ou quoi que ce soit de ce genre et il n'existe pas de contrôles portant le même nom.

Je me demande donc si je n'aurai pas atteint certaines "limites" (trop de contrôles, trop de sauvgarde/ouverture du fichier...) ou si le contrôle "Frame" en lui même n'est pas victime d'un bug récurrent.

Est ce que quelqu'un aurait une idée sur la source (et éventuellement l'issue ;)) de ce problème ?

P.S. : J'ai déjà utiliser à plusieurs reprises VBA Code Cleaner sur mon fichier histoire de virer les données rémanentes et polluantes.

Je vous remercie d'avance.

Bonne soirée à tous !
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Maudits soient les Frames !

bonjour GeoTrouvePas
effectivement on bloque a partir d'un certains nb...controles
par user mais je me rappelle plus le nombre j'avais fait des essais il ya quelques temps sur un autre forum mais pas garder le fichier desole fait des essais sur un fichier vierge assez rapide en utilisant un multipage & en copiant les controles des pages jusqu'au blocage
 

néné06

XLDnaute Accro
Re : Maudits soient les Frames !

Bonsoir GEOTROUVEPAS

J’avais des problèmes sur mon ancien Excel 2000.
Lorsque je plaçais en VBA l’instruction du style : TextBox1.Value= etc , le message apparaissait et me fermait excel .
Le programme fonctionnais si je plaçais :Me(« TextBox1 »).value=etc
Suite à une vérification des erreurs du disque (C),des messages sont apparus
« Fichier VBA Corrompus »
J’ai Changé mon excel 2000 pour le 2010 et je n’ai plus de problème.
Essayes la vérification des disques ?
Peut-être que ??????????

A+
 

GeoTrouvePas

XLDnaute Impliqué
Re : Maudits soient les Frames !

Snif, ça fait chaud au coeur de trouver d'autres galériens ! :p

Donc pour toi Laetitia, il y a effectivement une limite avec les multipages ?
Lors de mon dernier plantage, j'étais justement en train de le remplacer par des togglebuttons combinés à des frames (et oui j'ai pas supporté que les onglets du multipage ne puissent pas être colorisés :p)

Je vais tenter un scandisk comme tu le conseilles Néné, on va bien voir. Malheureusement je suis au boulot et malheureusement ils sont pas prêts de me changer Office XP pour une version plus récentes. J'ai déjà eu des problèmes similaires au tiens sauf que moi c'était dû à deux contrôles qui portaient le même nom. Lorsque le nombre de contrôles dans le projet est très important, VBA semble ne plus être en mesure de contrôler que le nom n'est pas déjà utilisé. Il t'autorise à créer ce doublon et à enregistrer ton fichier et ça n'est qu'à la prochaine ouverture du fichier qu'il va planter. J'adore ! :mad::mad::mad:

Je vous remercie beaucoup pour vos réponses, je vais tester vos solutions et "inchalah qu'sa passe !" :p
 

MJ13

XLDnaute Barbatruc
Re : Maudits soient les Frames !

Bonjour à tous

J'ai un classeur contenant une bonne vingtaine de userforms, 1 300 contrôles

Géo: ça faisait longtemps ;), mais déjà, quand je lis cela, ça me fait un peu peur, bonjour, l'usine à gaz :p. En plus Excel XP, ça existe, alors la je te conseille l'upgrade.

Sinon, peut-être avec des modules de classes, mais cela reste complexe pour une grosse application :confused:.

Tiens nous au courant :).
 

GeoTrouvePas

XLDnaute Impliqué
Re : Maudits soient les Frames !

ça faisait longtemps ;)

C'est mot pour mot ce que je me suis dit en voyant ton nom apparaître dans mon post :p. J'ai des tonnes de boulot en ce moment ce qui fait que je n'ai pas souvent le temps de venir faire mon petit tour sur le forum. En plus, à cause de vous tous, j'ai acquis une certaine autonomie en vba. Vous avez tellement bien répondu à mes précédentes questions, que j'ai fait d'énormes progrès et que j'arrive à me débrouille presue tout seul.

J'espère que, derrière cet aspect raleur, vous aurez détecté les sincères remerciements que je vous adresse à tous pour la préciseuse aide que vous m'avez apporté. Un grand merci donc à tous ceux qui me viennent à l'esprit (MJ13, Yann-56, Hasbro, MichelXLD, Pierrot93, Tititoto) et à tout ceux que j'ai oublié (il doit y en avoir encore plus).

ça me fait un peu peur, bonjour, l'usine à gaz :p.

Non pas tant que ça en fait. C'est une application très simple à utiliser et hyper évolutive. La multitude des contrôles est principalement dûe au fait
qu'elle sera utilisée par beaucoup de personnes différentes qui auront chacune leurs données à saisir. Chacun ne verra donc qu'une petite partie des infos, donc pas de "surcharge" d'informations.

En plus Excel XP, ça existe, alors la je te conseille l'upgrade.

Ben c'est à mon boulot donc c'est pas mon choix. On nous impose Office XP pour toutes les succursales de France... Le pire c'est qu'après des mois de développement, on vient de m'annoncer qu'on passe à Open Office dans 6 mois... Merci pour l'info ! :p

Sinon, peut-être avec des modules de classes, mais cela reste complexe pour une grosse application :confused:.

J'ai eu le déclic hier soir sur les modules de classe en lisant le gros post qui vient d'être déposé à ce sujet sur le forum. Je pense avoir enfin compris leur fonctionnement et ça me plaît bien. Si mon "analyse" est bonne c'est au contraire très adapté à un grosse application comme la mienne. Etant donné que j'ai, par exemple, beaucoup de textbox qui fonctionnent de la même façon (contrôle de données, format de présentation... pour des dates, des valeurs monétaires, des numéros de séries...), il me semble que c'est très intéressant d'utiliser les modules de classe pour éviter de recopier sans cesse les mêmes codes dans chaque userform. Mais bon, vu le temps qu'il me reste (une petite semaine), ça attendra la version 2 de mon application ^^
 

Discussions similaires

Réponses
5
Affichages
254

Statistiques des forums

Discussions
312 505
Messages
2 089 101
Membres
104 031
dernier inscrit
RimeF