Gèle écran après formulaire !??!

N

NOno

Guest
Salut !

J'ai un gros problème avec mes formulaires : de temps en temps (1/5) l'affichage d'un formulaire gèle l'écran et l'application EXCEL. Il me faut alors faire CTRL+ALT+SUPPR

Exemple :
Load Formulaire
Formulaire.Show
Unload Formulaire

Et là gèle d'écran : le fond du formulaire devient tout blanc !

J'utilise EXCEL 2000 sous Windows XP mais la même chose m'est arrivée sous Windows Me !

C'est vraiment bizarre et surtout très très embettant pour mon programme :(((

Merci pour votre aide :)
 
T

Thierry

Guest
Salut NOno,

Oui Unload devrait libérer totalement la mémoire... Donc ce ne devrait pas faire çà...

J'ai regardé l'aide qui dit bien :

Unload :
Lorsqu'un objet est déchargé, il est supprimé de la mémoire et toute la mémoire qui lui était associée est libérée. Tant qu'il n'aura pas de nouveau été placé en mémoire par l'instruction Load, l'utilisateur n'aura aucune interaction avec cet objet ni ne pourra le manipuler par voie de programmation.

Par contre moi je n'utilise jamais l'instruction load... Je fais directement
Userform1.show et je ne vois pas la différence...

Ton formulaire en question contient combien de controls ?

Bonne nuit
@+Thierry
 
N

NOno

Guest
Thierry,

Merci. J'avais aussi regardé le truc concernant les fonctions Load / Unload / XXX.Show
J'ai beau avoir essayé plusieurs combinaisons, rien n'y fait :((((
En fait ça ne marche pas sur plusieurs formulaires qui ont de 2/3 contrôles à une dizaine...

Aujourd'hui j'ai demandé aux informaticiens d'Aéroports de Paris (où je travaille) un coup de main.
Ils n'ont pas réussi.

Je crois donc que je vais devoir effacer tous mes formulaires au profit de feuilles Excel :((((((

Je joint le fichier au cas où quelqu'un voudrait relever le défi ! :
http://membres.lycos.fr/mgcontact/Test.zip

C'est vraiment très bizarre, je ne comprend vraiment pas surtout que parfois ça marche et parfois ça ne marche pas.

Merci
 
T

Thierry

Guest
Bonsoir Nono,

Moi j'ai des trucs qui tournent bien avec des "cascades" de formulaires (15 formulaires, chacun bourrés de controls divers, combo, list et textbox...)

NON tu dois avoir un blème ailleurs, ne détruit pas tout ton travail... au bénéfice de feuilles et de nombreux filtres et formules...

Je crois que les limites du nombre de UserForms dépendent surtout des ressources de ton system......

Et en plus je ne suis pas du tout sûr que le fait de travailler directement des masses d'info sur des feuilles plutôt que de traiter au préalable l'info par Userforms ne soit pas plus léger à géré pour Excel........et par conséquant le Processor lui-même, la RAM etc...

Par contre je pense que les UserForms sont gourmant en RAM par contre...Mais ce ne sont que des pointes pour 'UserForm_Initialize"... Pas au moment de la fermeture, si tout a été bien "bouclé" pendant l'usage... (A vérifier...)

Pour que çà marche bien, une appli "pro" doit pouvoir tourner maintenant même sur un PII 400 avec 128 de RAM (sous NT) le double de RAM sous 2000, et pour XP je ne sais pas encore...

Quelles sont vos machines à l'aéroport ?

Si tu trouve pas... essaie de m'envoyer un fichier qui cloche.... J'ai ADSL...

Bon Week End
@+Thierry
 
N

NOno

Guest
Salut !

Merci Thierry.
J'ai une bonne machine à l'aéroport : P III, 256 RAM, Windows XP, Excel 2000.
J'ai une machine équivalente chez moi (sauf que j'ai Windows Me... je sais c'est de la merde :) ) et ça ne marche pas non plus


Le fichier, c'est celui là :
http://membres.lycos.fr/mgcontact/Test.zip

Les macros sont simples. J'ai un auto-open qui affichera un Userform qui en général fonctionne. En cliquant sur un des boutons tu verras certainement qu'à un moment ça ne marche plus.

Merci :)
 
T

Thierry

Guest
Re NOno

Humm !

J'ai regardé ce "test.xls"......Beaux formulaires.......Images et tout et tout... Mais bonsoir le bazar.....

Non il faut absolument éviter de faire des trucs pareils. J'en ai perdu mon latin à suivre les bouton qui lançaient des macros, qui, elles mêmes, lançaient des macros...Tout çà pour faire des tas de copié collé de ci de là... et des clear de cellules...

Ce n'est pas les UserForms qui sont en cause, c'est cette espèce d'anarchie de commandes.

En fait je peux surfer à peu près sur tous les formulaires....

Mais quand tu actives le bouton "INSERER UN NOUVEAU VOL" du Userform "Debut"... C'est la grosse Cata... çà fait carrément planter Excel, même si tu as un Pentium VIII de 100GH... C'est une erreur de programmation qui te fige comme çà.... Mais comme Excel est litéralement planté tu n'as même pas de message du debuger....

Maintenant pour la trouver, c'est vraiment pire qu'un jeu de piste entre le bouton CommandButton1_Click qui lance entre-autre "miseazero" puis "mizeazero" qui lance "padvider", MAIS Alors quand MEME TEMPS, la même procédure du CommandButton1 continue en lançant ("inivol") avec les paranthèses !! ... (essaie sansles paranthèse..., moi j'essaie plus)
Surtout que chaque macro est sur 16 modules différents non nommés...

Non là je renonce, désolé... Essaie de te rapeller à quelle moment çà à commencé de figer et sur qu'elle instruction tu travaillais... C'est le seul moyen...

Désolé :-(
Bonne Nuit

@+Thierry
 
T

Thierry

Guest
Bonjour NOno

J'ai déjà viré le Test.xls, mais bon, de mémoire tu utilises...

Application.run...("inivol").........Je pense que le plantage doit avoir lieu avant... car la macro ne doit pas pouvoir être appelée à cause des parenthèses...

De plus, moi je n'utilise plus application.run... dans les modules on peut directement lancer une macro sans rien avant style...

Sub test()
MsgBox "bonjour"
Inivol
End Sub

ou encore
Sub test()
MsgBox "bonjour"
Call Inivol
End Sub

Mais je pense qu'il y a plus grave que çà dans ton bazar, qui est la cause du plantage...

Bon Courage
@+Thierry
 

Statistiques des forums

Discussions
311 721
Messages
2 081 929
Membres
101 843
dernier inscrit
Thaly