Probleme avec ouverture USF

h@nnoun

XLDnaute Nouveau
Bonjour le Forum
mon probleme j'ai un USF qui s'ouvrai correctement sous win98 win2000 et XP avec ce
code
aujourd'hui je suis oblige de mettre en commentaire ce code pour que L'USF s'ouvre
pouvez-vous m'aider à resoudre mon probleme

Private Sub UserForm_Initialize()
Dim hWnd As Long, exLong As Long, zFactor As Integer

hWnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
zFactor = 100 * CInt(Application.Width / Me.Width)
Me.Width = Application.Width - 6
Me.Height = Application.Height + 8

Ini
End Sub



Merci pour vos reponses
H@nnoun
 

Jacques87

XLDnaute Accro
Bonsoir

Qu'est ce que tu veux dire par 'mettre en commentaire ce code'
tout ce qui passe en commentaire est non exécutable, donc mettre un morceau de procédure en commentaire n'a aucune incidence sur son fonctionnement

Maintenant en lisant ton code, j'ai la nette impression que tu demandes à le redimensionner automatiquement :
Me.Width détermine sa largeur
Me.Height détermine sa hauteur
A+
 
H

H@nnoun

Guest
Bonsoir Michelxld,Bonsoir Jacques

merci d'avoir pris le temps de lire
mettre en commentaire en faite j'ai supprimé le code sans le detruire afin de savoir d'ou vennez l'erreur

les fonctions FindWindowA , GetWindowLongA et SetWindowLongA sont dans les premires ligne de la procedure

ce code fonctionné bien depuis 1 an
mais depuis ce jour lorsque je veux l'ouvrir il ne ce passe rien et il n'y a pas de message
faut il deplacer les fonctions?
Bonsoir
H@nnoun
 

h@nnoun

XLDnaute Nouveau
Bonjour Michelxld, Bonjour le Forum
merci d'avoir regarde mon poste si tot tu as du courrage ou tu est un leve tot
bonne journée

voici un exemple de mon fichier

h@nnoun [file name=testvalid.zip size=29346]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/testvalid.zip[/file]
 

Pièces jointes

  • testvalid.zip
    28.7 KB · Affichages: 25

Jacques87

XLDnaute Accro
Re

J'ai regardé ton fichier
Première remarque : le code que tu as noté dans ton premier post n'est pas mis en commentaire, tu l'as placé dans une procédure évennementielle qui a pour but de dimensionner ton userform a son initialisation
deuxièmement : tout fonctionne correctement chez moi
enfin, tu as prévu dans ton userform un bouton pour quitter et fermer le Workbook, il aurait été judicieux d'en construire aussi un pour fermer le userform et retourner vers une feuille de ton choix

à ta disposition

Bonjour Michel, que penses tu de ceci ?
Cordialement
 

h@nnoun

XLDnaute Nouveau
Bonjour Jacques87 j'ai vu beaumontdulac c'est sympa de nous faire voyage
Bonjour pascal76
dans le fichier posté j'ai place l'usf tel que je l'utilisé avant le probléme

vu que sur vos pc il n'y a pas de probleme
je vais desinstaller office2000 et le reinstaller
peut etre est ce un probléme materiel et non un probléme de code plus que chez vous cela fonctionne

je vous remercie d'avoir repondu à mon appel

Bonne Journée
A++
H@nnoun
 

h@nnoun

XLDnaute Nouveau
Bonjour le forum
juste pour info après reinstallation d'office2000 le problème persiste sur mon portable

j'ai trouvé dans un fil sur le site ce code

With Me
.StartUpPosition = 0
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = -20
.Zoom = 100

End With

en mettant top à -20 j'obtient une parade qui me donne à peu pret le meme resultat

Bonne journée à tous lol ;)
H@nnoun
 

Jacques87

XLDnaute Accro
Re bonjour Hannoun

Je suis content pour toi, si tout fonctionne correctement
Une question et même 2

Pourquoi StartUpPosition = 0
j'aurai mis 3 pour avoir l'userform en haut à gauche (cf ci-dessous)

StartUpPosition =
Manual 0 Aucune valeur initiale n'est indiquée.
CenterOwner 1 Centre l'objet UserForm au sein de l'élément auquel il appartient.
CenterScreen 2 Centre l'objet par rapport à l'écran.
WindowsDefault 3 Place l'objet dans l'angle supérieur gauche de l'écran


et pourquoi Top = -20, valeur négative, alors le haut de ton UserForm est en dehors de l'écran, personnellemnt j'aurai mis 0, mais tu dois avoir tes raisons

Top =
Distance entre un contrôle et le bord gauche ou supérieur de la feuille qui le contient

Bonne journée
 

h@nnoun

XLDnaute Nouveau
Bonjour Jacques87 , Bonjour le forum


Pourquoi StartUpPosition = 0
Reponse je ne pouvez pas le mettre en negatif

pourquoi Top = -20
Reponse comme je n'ai trouvée le moyen d'empecher la fermerture de l'usf par le X à droite de l'USF en le mettant en negatif il se trouve masqué mais je cois qu'on bloquer la fermerture par la petite croix il y a surment une reponse dans le forum je la trouvé

merci pour tes explications sur StartUpPosition
je sais maintenant comment cela fonctionne.

je n'ai pas encore fini d'apprendre
Bonne journée
@++
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 085
Membres
104 023
dernier inscrit
zerarka mohamed