Bonjour,
Si mes souvenirs sont bons, il faut centrer le formulaire avec ce code.
Domi2
Bonjour,
Si mes souvenirs sont bons, il faut centrer le formulaire avec ce code.
Domi2
C'était avec ce code que je centrais mon formulaire, mais je pense avoir trouvé l'erreur. Sur mon formulaire j'utilisais. Je l'ai enlevé et maintenant je n'ai plus les barres de défilement. Par contre j'utilise dans mon formulaire un rectangle et dans le redimensionnement ce rectangle est "coupé" cf la photo jointe. Cela est-il normal, le code gère-t-il ce genre d'objet?
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.Maximize
Merci pour votre aide
hé seb réveille toi. tu peux pas nous laisser là maintenant. remet toi au travail. j'ai travaillé sur une résolution 1280 x 800. les forms sont un peu plus large que l'écran qd je passe en 1024 x 768 et carrément plus large en 800 x 600. par contre les polices c'est parfait. autres problèmes lorsque on passe de 90ppt à 120 ppt problème. j'ai mes petites idées la dessus. je teste et je relance. aller remet toi au boulot aussi
je veux dire 96 ppp (échelle habituelle de police) à 120 ppp
Hello,
Je suis réveillé et en pleine forme ! Je prends donc cela à la plaisanterie... Ceci-dit, le code que j'ai rédigé devrait normalement s'adapter aux résolutions plus exotiques (1280 x 800, par exemple qui doit être, entre autre, une résolution de portable). Mais je n'ai pas testé, vu qu'à l'époque, je n'avais pas de portable, justement...
Quant au changement de la police au niveau des "ppt", j'avoue ne pas y avoir pensé du tout...
Dans l'ensemble, mon code est assez simple et il pourrait être amélioré de mille façons, j'en suis bien conscient... Mais je n'ai malheureusement pas le temps de travailler sur Access en ce moment, j'ai un projet web qui me prends mon temps de travail + une partie de mon temps perso, et j'en ai minimum pour deux à trois mois encore... Je reviendrai sur mes contributions (qui datent, il est vrai) à l'issue de cette période...
Bon courage à toutes et tous !
Bonjour,
Petite question très con de quelqu'un qui n'a jamais utilisé le VBA.
J'ai développé un formulaire de saisie (utilisant un sous-formulaire) affichant directement les résultats de requêtes (notes) sous forme de graphiques (curseurs): c'est mon interface unique de la base.
Problème: je voudrais que ce formulaire (sur lequel j'ai passé un max de temps) s'affiche intégralement sur les écrans d'autres ordi à résolutions plus basses. Ce code m'intéresse donc a priori grandement.
Mais comment s'utilise-t-il?
Je copie l'ensemble dans un module... mais après?
Désolé pour une question aussi bête... mais faut bien débuter un jour!
Tino
bien entendu je plaisante seb. tu as réalisé un travail important et très utiles. en fait j'ai parcouru le code une nuit durant et je n'ai fais que de petits ajustements (pas généralisables).
exemple
"5" au lieu de "0"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 For OsCompteur = 0 To OsNombreColonnes - 1 OsDimensionColonne(OsCompteur) = Split(OsColonnes(numControle), ";")(OsCompteur) 'Si colonne non renseignée (sauf la dernière), elle est égale à zéro... If Len(OsDimensionColonne(OsCompteur)) = 0 Then OsDimensionColonne(OsCompteur) = "5" OsDimensionColonne(OsCompteur) = CDbl(OsDimensionColonne(OsCompteur)) * FactRedimX OsRedimColonnes = OsRedimColonnes & OsDimensionColonne(OsCompteur) & ";" Next
parce que les colonnes dont la largeur n'est pas renseignée s'ajustent toutes seules. je ne renseigne donc que les colonnes larges. ce qui fait qu'avec le code non modifié bcp de mes colonnes disparaissent.
pour le changement de résolution j'ai fini par me résoudre à jouer systématiquement sur le coefficient de correction des facteurs de redimenssionnement suivant les écrans.
exemple
pour tenir compte du changement d'échelle de police (de 96 à 120 PPP) je suis descendu jusqu'à un coefficient de 0.8 et ça marche parfaitement.
peut être fastidueux de trouver les coefficients adaptés à chaque écran et résolution, mais mieux que de refaire tous les formulaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 FactRedimX = FactRedimX * 0.8 FactRedimY = FactRedimY * 0.8
salut
après tu met
dans l'évênement open du formulaire et c'est tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part proResolution Me
Bonjour,
Merci,
je crois avoir trouvé comment ça marche.
Pour un formulaire simple, j'ai réussi à ce que cela fonctionne.
Cependant, je n'arrive pas à faire fonctionner le code sur mon formulaire et j'ai le message d'erreur suivant:
448: argument nommé introuvable.
Mon formulaire est assez complexe et intègre de nombreux graphiques (de petites tailles) et un sous/formulaire intégré.
Merci d'avance,
Tino
salut tinomulot
essai de repérer l'erreur en desactivant la procedure de gestion des erreurs comme ceci (met la ligne en commentaire)
ensuite copie la ligne ou il y'a le bogue pour nous la montrer (ligne surlignée en jaune).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Sub ResolutionActuelle() 'On Error GoTo Erreur
bon courage
Salut stdebordeau,
J'ai beau avoir rajouté un ' devant On Error GoTo Erreur, cela ne change rien.
Cela compile sans problème.
Le soucis, c'est qu'à l'ouverture du formulaire, l'erreur 448 s'affiche, je clique Ok et mon formulaire s'ouvre...à la taille initiale.
J'ai regardé dans le code et il n'y a pas d'erreur 448 indiquée???
Je pense que cela est lié à mon formulaire...un peu complexe.
Si tu veux un aperçu du formulaire ou d'autres infos, je peux te l'envoyer.
Merci d'avance pour ton aide,
Tino
Bonjour,
Tinomulot :
Il y a quelque temps j'ai fait des tests rapides , il me semble que le code ne prenait pas en compte pas les sous-form ...Mon formulaire est assez complexe et intègre de nombreux graphiques et un sous/formulaire intégré.
les a tu ajoutés toi-même ?
Bonsoir,
De mémoire, si...Il y a quelque temps j'ai fait des tests rapides , il me semble que le code ne prenait pas en compte pas les sous-form ...
Mais il faut appliquer le changement de résolution également sur le formulaire qui sert de sous-form !
A vérifier, je n'ai plus ma base test sous la main...
Domi2
Bonjour,
Mon sous-formulaire (de type feuille de données) n'était pas enregistré physiquement. Il apparaissait dans le formulaire principal mais pas dans la liste des formulaires.
Je ne pouvais donc pas y appliquer le changement de résolution.
Je l'ai donc refait physiquement.
J'ai mis:
dans mon formulaire principal (Relevé) et:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Form_Close() proResolutionFD_Exit Me.Observation_sous_formulaire.Form End Sub Private Sub Form_Open(Cancel As Integer) proResolution Me End Sub
dans mon sous-formulaire (Observation sous-formulaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Form_Open(Cancel As Integer) proResolutionFD Me End Sub
et ce suivant les recommandations à la fin du script.
Cependant, si l'erreur 448 disparait et que cela compile, maintenant j'ai "6:dépassement de capacité" à l'ouverture de mon formulaire principal.
Je ne sais pas comment résoudre ce soucis...
Je ne comprend pas ce qu'est ce 6, il y a bien une erreur "2100 : Dépassement de capacité" inscrite dans le code du module mais pas d'erreur 6.
J'ai peut-être une erreur, dans ce que j'ai mis, ou comme je disais un problème lié au nombreux graphiques?
Merci pour vos aides,
Tino
bonsoir,
je suis super emballé par cette solution, malheureusement j'ai réalisé les formulaires sous résolution 1280*1024 et ceux-ci sont coupés aux 3/4 quelque soit la résolution essayée.
qu'est-ce que j'ai loupé ?
merci de votre aide.
Bonjour,
Le programme à l'air vraiment complet à voir le niveau des modifications apportés... Félicitations!
Pourtant, en essayant de l'intégrer à ma propre base de donnée, ca ne marche pas malgré les modifications décrites dans les discussions précédentes.
Je programme sous Access 2002 et avec un écran assez large 1920x1200.
Pour l'instant je n'ai fait le test que sur la page d'accueil (qui est un menu, donc pas de sous formulaires, juste des boutons et des liens).
Lorsque je lance le formulaire, un message d'erreur apparait avec écrit
"2113: Valeur incorrecte pour ce champ" et un gros espace se créé dans l'entête du formulaire.
Vu que je débute sur VB, je ne m'y connais pas trop en code... Est ce que quelqu'un aurait une solution à ce petit, problème?
Merci
Bonjour
Sous Access 2000 çà fonctionne avec développement en 1024x768 et déploiements en 1024x600 et 1440x900.
Mis à part les sous formulaires "feuilles de données" qui s'agrandissent à chaque ouverture, m'obligeant à supprimer les codes pour ceux-ci.
Merci pour ce code bien (et de plus en plus ) utile
Franck
Suite à cette question reçue en MP, je pense que la réponse peut interresser d'autres personnes. Dans le cas contraire, les modos auront un ti peu de travail...
Bonjourbonjour
j'ai vu que tu a repondu a cette question
http://www.developpez.net/forums/d38...s/#post4119008
j'ai du mal a voir comment sa marche et a le mettre en place pour ma base tu pourrai me donnée un exemple avec ta base ( m envoi un formulaire )???
Il faut tout d'abord enregistrer le code (première page du post) dans un module que tu peux renommer à ta guise (redimensionnement formulaires par exemple).
Ensuite dans les formulaires où tu souhaites effectuer un redimensionnement automatique, à la propriété "sur ouverture" du formulaire, tu appuies sur les 3 points "..." , générateur de code.
Et tu y colles : proResolution Me
C'est tout
Cordialement
Franck
Bon, çà y est çà déconne, et je ne comprends pas pourquoi.
Je me retrouve avec le même message "6:dépassement de capacité" puis le message "2125 : Le paramètre de la propriété Taille caractères doit être compris entre 1 et 127".
Puis le formulaire d'acceuil s 'ouvre (via la macro "autoexec"), mais sans les boutons et autres textes
Chose très étonnante, l'orsque j'ouvre l'appli avec un autre PC cela fonctionne sans problème.
Auriez vous une idée ?
Désolé pour le monologue, mais aujourd'hui çà fonctionne. Je comptais enlever le module et les procédures, et à l'ouverture pas de bug
C'est à ne rien y comprendre. J'ai rebouté à plusieurs reprises depuis plusieurs jours, et aujourd'hui pas de problème ni de message d'erreur.
La différence entre les 2 postes où j'ai développé, c'est que celui où çà bug est équipé de la version développeur (2002) configurée en 2000, et l'autre où tout à toujours fonctionné, est un portable équipé d'origine en office 2000.
Les 2 résolutions d'écrans sont identiques.
Je pense que par sécurité je vais oter le module
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager