Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business



|||-  

Problème d'affichage d'un userform non modal EXCEL VBA [RESOLU]

 

5 utilisateurs inconnus
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

Problème d'affichage d'un userform non modal EXCEL VBA [RESOLU]

Prévenir les modérateurs en cas d'abus 
STFj
stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 03/01/2012 à 09:01:35  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour , bonne année et meilleur voeux à tous pour cette année 2012!!!
 Pour bien commencé l'année, Voici un petit problème liés a l'affiche d'un userform...

 Situation initial:
 Un userform se lance une foie l'onglet X activer.Il s'agit d'un formulaire pour rajouter un équipement a une liste situé sur une feuille W. Jusqu'ici pas de problème, l'userform fonctionne parfaitement ( il est modal ==> Ca peut avoir son importance pour la suite...^^). Lorsque je click sur le bouton "ENREGISTRER" de mon formulaire, l'userform est déchargé de ses infos sur la feuille W, se ferme, selectionne la feuille Z et charge un nouvel userform (non modal celui la).Voici un bout du code pour mieu me faire comprendre:

 Private Sub CommandButton1_Click()
 (...)=> Lignes de code
 (...)

 Unload UserForm32
 Sheets("plan maitre" ).Select
 UserForm3.Show vbModeless

 End Sub

 Problème rencontrer : L'userform3, s'affiche mais disparait aussi tot ( pas le temps de le voir tellement sa va vite...^^).J'ai regarder sur la toile si quelqu'un avait eu un problème similaire, et j'ai testé différentes manips ( activer ou non le mode modal dans les propriété de l'userform3; Forcé l'userform a se réaficher => .Repaint etc..) qui se sont avéré inutile ou génératrice d'erreur.

 Si quelqu'un à une solution a se problème je suis preneur... Je pense avoir essayer pas mal de chose mais le problème persiste... PLEASE HELP...^^

 Merci par avance pour vos réponse.
 Cdt

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 04/01/2012 à 09:07:53  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
:pleure: C'est que du bonheur quand ca marche pas  :pleure:

 Personne a une petite idée??? Car la franchement je rame violent... J'ai du essayer tout se qui était possible concernant les UF...
 J'ai même pensé au propriété de la feuil sur lequel le UF s'ouvre mais rien a faire...

 Je peut fournir un fichier test si c'est pas clair se que je dit...

(Publicité)
willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 04/01/2012 à 14:02:51  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour,

 je veux bien essayer de trouver une solution à ton problème,si tu mets ton fichier sur le site http://cjoint.com/index.php
 et mets le lien sur le forum.

 tu pourrais ajouter une boucle for Next ou Do... Loop pour augmenter le temps d'affichage?

 j'ai la version Excel 2003.Je connais le VBA

 voir une réponse du même genre:
 http://www.generation-nt.com/v [...] 65001.html

 http://forum.excel-pratique.co [...] t5017.html

 Mise en Garde Excel 97
 Les objets UserForms d'Office 97 sont toujours de forme modale, le mode vbModeless (non modal) n'est pas supporté. Il existe une API capable de simuler ce mode Non Modal pour Excel 97)

 http://silkyroad.developpez.com/VBA/UserForm/
 http://www.excel-downloads.com [...] modal.html

 Bonne Année 2012 et Merci pour tes Vœux
 :hello:




stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 05/01/2012 à 08:56:47  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
hey, salut willy et merci de t'interréssé a mon problème...

 Merci pour ces pistes , Je suis en train de voir les liens que tu as mis pour voir si il n'y a pas une solution a se beug...

 J'ai également recréer un fichier similaire simplifier pour avoir un meilleur apercut : [color]EDIT : j'ai remis le fichier simplifier en bas de mon dernier post
 Merci encore, en espérant arriver a solutionner ce problème.
 CDT


willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 05/01/2012 à 14:35:57  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour,

 j'ai regardé ton fichier.J'ai saisi les 3 items

 quand je clique sur enregistrer,la macro bugue sur la ligne46

 With ThisWorkbook.VBProject.VBCompo​nents("Module2" ).CodeModule


 dans
 With ThisWorkbook.VBProject.VBCompo​nents("Module2" ).CodeModule

LigneSuivante = (.CountOfLines + 1)

.InsertLines LigneSuivante, LignesDeCode
 End With

 si je saute ces 4 lignes j'ai bien affiché le Userform3


 j'ai essayé plusieurs commandes sans résultat
 essaie de modifier cette ligne en combinant ces codes
 Application.
 Codepanes()
 VBE.activeVBprojects

 ------------------------------​-------Aide Excel
 renvoyer le nombre total de lignes d'un volet de code spécifique.

 Application.VBE.CodePanes(2).C​odeModule.CountOfLines
 ------------------------------​-------Aide Excel


 L'exemple suivant utilise les propriétés CodeModule et CountOfLines pour renvoyer le nombre de lignes dans un module de code spécifique.

 Debug.Print Application.VBE.ActiveVBProjec​t.VBComponents(6).CodeModule.C​ountOfLines

 ------------------------------​-------------

 Application.VBE.ActiveVBProjec​t.VBComponents("Module2" ).Code​Module.CountOfLines

 N.B:essaie de corriger quelques fautes d'orthographe dans les textes

 tu pourrais mettre un Post sur ce site pour obtenir plus de réponses
 http://www.vbfrance.com/


 bon courage!
 :jap:




(Publicité)
stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 05/01/2012 à 15:39:51  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Merci a toi d'avoir pris le temps de regarder tout ca et dzl pour la syntaxe mais je ne suis pas un AS de l'orthographe...

 Ce qui est curieux c'est que lorsque j'ai testé sur mon poste, le beug que tu as eu au niveau de ligne 46 (Les lignes de codes qui se rajoute au module2) n'y était pas... ca doit surement venir de nos versions d'excel (perso je suis sur le 2007) ou alors des compléments.Qui sait...?^^

 Et tu dit, que lorsque tu saute ces lignes, l'userform3 s'affiche... C'est bon ca...^^ Il est en mode non modal ??? car si il est modal, il s'affiche aussi chez moi, c'est lorsque je veux le mettre en non modal qu'il beug...

 Et ce qui est encore plus curieux , c'est que personnelement, je n'est pas de beug a la ligne 46 et que mon UF3 ne s'affiche pas alors que toi tu as un beug et que si tu passe ces ligne(autrement dit, que tu simule que ces ligne n'ont pas de beug comme sur mon fichier) l'UF3 s'affiche ...Umm Umm??? Bizar...  :youpi: les joies de l'informatiques  :youpi:

 Bon ben je vais continuer à chercher... Merci a toi d'avoir pris le temps pour essayer de résoudre ce casse tête...
 Cdt

 EDIT : en relisant plus en détail ton post, tu as dit avoir remplit les trois items... il y en a plus que deux sur le "fichier test" que j'avais modifier => http://cjoint.com/?0Afp3KRPIya

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 05/01/2012 à 18:05:48  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
re,
 avec ma version 2003,après la saisie de 2 items, je beug tj à la ligne46.
 si je passe ces 4 lignes j'accède bien à UF3,

 mais pense à réduire la taille de cette uF3 car on ne voit pas trop la partie basse pour atteindre le bouton "Continuer"

 :hello:

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 08:45:18  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour willy, et merci encore de t'interrésser a se problème...

 Je me rappelle que sur certain PC de ma boite, le fichier beugait au même endroit...

 En fait il faut aller cocher pour dire a excel de faire confiance a VB...
 Le chemin a suivre:
 Dans les onglets en haut d'excel, il faut selectionner "Dévellopeur" et "Sécurité des macros".
 Une fenetre s'ouvre, Il faut cocher la casse , dans la catégorie "Paramètres des macro" ; "Paramètre des macros pour les dévellopeurs" ==>  " Accès approuvés au modèle d'objet du projet VBA" et valider.

 Normalement, le beug de la ligne 46 ne seras plus, puisque VBA accorde la macro a rajouter des lignes de codes dans le module...

 Je continue a chercher pour le beug de l'UF3...
 Merci pour ta patience, tes conseils...

 Edit: Je pense avoir une piste concernant le beug de l'UF3:
 Si la fameuse case "Accès approuver..." est cocher, L'uf3 beug...
 Tu m'a dit que toi, l'UF3 beugt pas mais la case "Accès approuver" n'est pas cocher...
 Ainsi, par defaut, je pense qu'il faut que je trouve un moyen pour l'activer avant de créer les lignes de codes et une fois ces lignes copié dans le module , désactiver la case pour que mon UF3 s'affiche...
 Aaaa... on commence a en voir le bout je pense... Reste plus qu'a savoir si on peut activer ou non cette fameuse case par programation...

 CDT

(Publicité)
willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 06/01/2012 à 11:03:25  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour,

 hélas, Excel 2003 n'a pas ce menu proposé "DeveloPPeur" (1L et 2 P)  :lol:
 même dans l'éditeur de macros.

 as tu essayé d'aller sur le site ? Il y a des Pros des Programmes VBA
 http://www.vbfrance.com/

 peut-être Un Euréka... en supprimant la parenthèse devant CountOlines
 car la syntaxe impose le point

 with ThisWorkbook.VBProject.VBCompo​nents("Module2" ).CodeModule
 .CountOfLines=
 .insertlines=
 end with


 With ThisWorkbook.VBProject.VBCompo​nents("Module2" ).CodeModule
 LigneSuivante = .CountOfLines + 1
 .InsertLines LigneSuivante, LignesDeCode
 End With


 à toi de faire des tests  :hello:

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 11:21:44  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
:D  faut vraiment que je retourne a l'écolle...
 Je croie , si mes souvenirs sont bon, sous Excel 2003, tu doit pouvoir accéder a l'onglet sécurité des macro comme ca ( a vérifier)
 => Clique sur l'onglet office en haut a gauche
 => Puis dans "option excel" en bas de la fenetre
 => Et "Centre de gestion de la confidentialité"
 => La dedans il doit y avoir un item EDIT: "paramétrage du centre de gestion de la confidentialité" normalement tout en bas...
 => Ensuite "paramètre des macros" et/ou "sécurité des macros"...
 => et normalement c'est ici que la fameuse casse a cocher se trouve ...
 C'est ou "faire confiance a VB (...)" ou "Accès approuvé au modele (...)

 Mais Excel 2003 remonte a longtemps deja... Essaye , peut etre en aura tu besoin un jour qui c'est...

 Je vais voir sur le lien que tu m'a donner et je posterais mon problème cette après midi...

 Sur ce je fille , on m'attend pour m'anger...^^
 Bon apétit et encore merci!!!
 CDT

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 06/01/2012 à 12:05:25  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Avec Plaisir.

 Pense à agrandir UF5 pour voir le titre en entier!
 dispo pour corriger tes Fotes  :lol:

 ok, j'ai coché la bonne Case Menu >Outils Macro > sécurité>éditeur approuvés:
 case faire Confiance au projet visual basic

 effectivement je ne vois plus UF3  :pleure:
 j'ai relancé la macro

 ça beug ici
 .InsertLines LigneSuivante, LignesDeCode

 si je saute cette ligne tout fonctionne bien pour la suite et UF3

 With ThisWorkbook.VBProject.VBCompo​nents("Module2" ).CodeModule

LigneSuivante = .CountOfLines + 1

' .InsertLines LigneSuivante, LignesDeCode
 End With

 :hello:


 j'ai compris mon erreur: ça bug à cause du mode macro pas à pas....

(Publicité)
stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 13:21:45  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 

 

willyplaisir a écrit :

Avec Plaisir.

 effectivement je ne vois plus UF3  :pleure:
 j'ai relancé la macro

 ça beug ici
 .InsertLines LigneSuivante, LignesDeCode

 si je saute cette ligne tout fonctionne bien pour la suite et UF3
 




 re,
 Le beug sur les lignes de code doit venir des références utiliser par VB pour ce projet, sur mon poste, pour avoir que le beug d'affiche de l'UF3, il faut 7 Références dans la bibliothèque...
 Je suis en train de voir avec l'affectation ou non des sécurité pour régler le problème d'affichage...

 Je vais aussi voir sur le lien que tu m'a donné voir si ils ont une piste pour ce fameux beug...
 Si par miracle je venais a solutionner le problème, je passerais refaire un tour par ici pour l'expliquer...

 Bon journée, au plaizir
 Cdt

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 06/01/2012 à 13:48:44  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 14:04:58  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
:super: Merci, c'est super cool...
 Je vais regarder tout ces liens voir si mon bonheur si trouve...
 :hello:

(Publicité)
stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 14:16:26  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
:D
 :lol: EUH??? Comment dire ca sans te frustrer... ??? :lol:
 Je suis pas très bon en orthographe mais toi t'es pas très doué en compréhension orale... :lol:

 Non sérieusement, Sur mon fichier, je n'est pas de problème avec les lignes de code, tout fonctionnement correctement, Donc tout ses petits liens me sont pas très utile en faite... :D
 Je pense que tu à se beug car j'ai une version excel différentes de la tienne ( Référence et comportement)...

 Je suis entrain de voir comment résoudre ce problem d'affichage, tu sait comme quand tu as dit:

 

willyplaisir a écrit :

effectivement je ne vois plus UF3  :pleure:
 




 ==>Et personnelement je ne pense pas que le beug des ligne de codes et celui de L'UF3 soit liés... Quoique si peut etre mais plus sur le fait d'activé ou de désactiver la fameuse case a cocher "Accès approuver"

 merci quand même pour tes liens... :D
 Je retourne a la recherche de la solution miracle...
 ++

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 06/01/2012 à 14:58:04  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
re,
 peut-être un Miracle

 mettre UForm3 en mode modal =true
 et on avance un peu...plus  :lol:  essaie donc!


 j'avais trouvé une ptite erreur au départ
 en remplaçant
 LigneSuivante =(.CountOfLines + 1) par

 LigneSuivante =.CountOfLines + 1

 avec ton fichier j'ai appris la possibilité d'ajouter des lignes dans un module.

 :jap:

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 06/01/2012 à 15:14:31  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 

willyplaisir a écrit :

 

 avec ton fichier j'ai appris la possibilité d'ajouter des lignes dans un module.
 :jap:
 




 héhé au plaizir d'avoir pu t'apprendre quelque chose  :D

 Euh si je met mon UF3 en mode modal=True , il s'affiche,(EDIT: EUH en fait non, toujours se même beug d'affichage) mais l'utilisateur ne peut plus accéder a la feuil de calcul ==> il le faudrait pourtant...

 Je suis entrain de voir avec un dévellopeur sur le lien que tu m'a filler pour solutionner ce problème,

 J'ai appris ca de sa part:

 Les appels modeless n'attendent pas que la forme soit déchargée pour continuer. Donc, si derrière le .Show tu fais un UnLoad ou que tu sors de ta procédure alors que la UF est dimensionnée à l'intérieur, elle disparaitra, normal.

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 06/01/2012 à 18:34:33  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
re,


 tu ajoutes un test dans ta boucle qui la met en pause.
 pense à y coller un doevents .

 La fonction DoEvents renvoie un nombre entier (type de données Integer : type de données fondamental qui contient des entiers. Une variable Integer est stockée sous la forme d’un nombre 16 bits (2 octets) dont la valeur est comprise entre -32 768 et 32 767.) représentant le nombre de formulaires ouverts dans des versions autonomes de Microsoft Visual Basic, telles que Visual Basic, Édition Professionnelle. Elle renvoie zéro pour toutes les autres applications.

 DoEvents passe le contrôle au système d'exploitation. Le contrôle est renvoyé une fois que le système d'exploitation a traité tous les événements de la file d'attente et que toutes les clés de la file d'attente SendKeys ont été envoyées.

 La fonction DoEvents est particulièrement utile pour des opérations simples, comme autoriser un utilisateur à annuler un processus après l'avoir démarré notamment dans le cadre d'une recherche de fichier. Dans le cas de processus plus longs, il est préférable de faire appel au processeur à l'aide d'une minuterie ou de déléguer une tâche à un composant ActiveX EXE. Dans ce dernier cas, la tâche peut se poursuivre indépendamment de votre application. En outre, le système d'exploitation se charge des opérations multitâches et du découpage des tranches horaires.

 http://office.microsoft.com/fr [...] 28827.aspx


 j'espère que tu auras des réponses sur ce site bien fait
 http://www.vbfrance.com/forum/ [...] 64893.aspx

 :jap:
 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 09/01/2012 à 09:21:33  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
YAOUHHHH!!!
 C'est y est, la solution miracle :
 En gros, je force l'UF a rester charger...

 Load UserForm3
 With UserForm3
 .Show vbModeless
 Do While .Visible
 DoEvents
 Loop
 End With
 Call Uf4 => et a la fin de la macro, avant le "End Sub" , il faut placé un "End", pour a&rreter la procédure d'automatisation et évité l'erreur d'exécution 2147418105...

 Ca fait plaizir d'en avoir vu le bout...
 Merci a toi pour les infos , les liens et pour ton temps passé a m'aider...

 Au plaizir ...


willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 09/01/2012 à 10:47:31  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
super content pour toi  :super:

 avec de la patience et du temps et des internautes sympas on arrive toujours à résoudre son problème.

 tu as fait un sacré travail de programmation que j'ai vu, mais suis tj disponible pour corriger les quelques fotes  :lol:  dans tes libellés... si tu souhaites m'envoyer ton fichier en MP .
 Ainsi ton fichier sera au Top!

 Je serai absent du forum du 10 au 18 janvier.
 willy  :jap:

stfj
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 09/01/2012 à 11:35:53  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 

willyplaisir a écrit :

tu as fait un sacré travail de programmation que j'ai vu


==> Et encore tu as vu que le fichier test...^^ Je t'aurais bien envoyé le fichier total pour te faire :pleure:  :lol:
 et plus sérieusement pour que tu puisse grapiller les lignes de codes que tu ignore peut etre et qui aurait pu te servir dans tes futures projet...
 => Cependant, j'ai signé un papier lors de mon embauche me tenant au secret professionnel, car ce fichier détient des informations trop pointu sur une plate-forme chimique, ces produits et tout et tout...(Soit disant que ca pourrais etre dangereux...)

 Mais comme la si bien dit socrate :"Le savoir est la seule matière qui s'accroit quand on la partage" ==> o pir , je te ferais un nouveau fichier test ou toutes les informations "dangereuse et secrete" ne figure plus,comme ca tu verra le principe de fonctionnement et toutes la programation associé...

 J'ai pris plaizir a partager et discuter avec toi,  encore MERCI pour ton aide !!! Je serais encore entrain de bidouiller mon fichier si tu n'était pas intervenut....

 :hello:  :jap:  :hello:

 Edit: Trop long a modifié pour supprimer les infos(faudrait que je modifie trop de lignes de codes...^^)

 Page :
1

Aller à :
 

Sujets relatifs
Bouton HTML qui à disparut! [résolu] selection cellule VBA
Problème SharePoint 2010 Graphique dynamique avec affichage de données multiples
Feuille Excel / SQL Server 2008 Express Problème de code dans userform
Problème de math probleme avec profs
problème de math...  
Plus de sujets relatifs à : Problème d'affichage d'un userform non modal EXCEL VBA [RESOLU]

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
Lecture de fichiers vidéo OGG dans page HTML5 pour FireFox sur free.fr 1
problème PHP 1
Comment supprimer ou réinitialiser un compte Orange 0
Image en HTML 6
windev 10 ne demarre pas sur windows 7 0