Problème de décalage sous Visual Basic 6
Fermé
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
-
4 mars 2011 à 14:04
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 7 mars 2011 à 12:33
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 7 mars 2011 à 12:33
A voir également:
- Problème de décalage sous Visual Basic 6
- Visual basic download - Télécharger - Langages
- Microsoft 365 basic - Guide
- Microsoft visual c++ runtime - Guide
- Geekom as 6 - Guide
- Visual paradigm - Télécharger - Gestion de données
18 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
4 mars 2011 à 17:07
4 mars 2011 à 17:07
Bonjour,
Première réflexion... Si tes feuilles ne sont pas décalées.. comment aller de l'une à l'autre ?
Ton Datagrid tu le rempli avec une base de donnée ?
A+
Première réflexion... Si tes feuilles ne sont pas décalées.. comment aller de l'une à l'autre ?
Ton Datagrid tu le rempli avec une base de donnée ?
A+
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
4 mars 2011 à 18:32
4 mars 2011 à 18:32
Je n'avais pas envisagé cette possibilité, mais est-ce possible quand même de limité ce décalage, car au bout 10 pages ouvertes mais pas obligatoirement en même temps il y a un décalage énorme.
J'en profite pour vous demander, comment faire pour délimiter une feuille, pour qu'elle ne puisse pas aller au delà de l'écran.
Mon datagrid est rempli par une base de donné Access qui était fournit avec le projet.
J'en profite pour vous demander, comment faire pour délimiter une feuille, pour qu'elle ne puisse pas aller au delà de l'écran.
Mon datagrid est rempli par une base de donné Access qui était fournit avec le projet.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 4/03/2011 à 20:09
Modifié par lermite222 le 4/03/2011 à 20:09
Dans le Form_Activate tu met..
Ça peut être aussi dans le
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Me.Move Gauche,Haut,Largeur,Hauteur.
Ça peut être aussi dans le
Form_Resize
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
4 mars 2011 à 21:01
4 mars 2011 à 21:01
Merci beaucoup pour tes réponses lermite222 et de ta rapidité.
Aurais tu un conseil pour le DataGrid car je suis allé sur une aide que pour cela et c'est assez complexe pour modifier une petite part dans un DataGrid.
Aurais tu un conseil pour le DataGrid car je suis allé sur une aide que pour cela et c'est assez complexe pour modifier une petite part dans un DataGrid.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 mars 2011 à 08:13
5 mars 2011 à 08:13
Private Sub Form_Load() DataGrid1.Columns(1).Width = 2500 End Sub
A+
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
5 mars 2011 à 10:51
5 mars 2011 à 10:51
Merci pour ta réponse, mais avec l'option DefColWidth dans DataGrid, ça fessait la même chose. Mais c'est pas super précis.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 mars 2011 à 12:00
5 mars 2011 à 12:00
Pas précis ? tu peu adapter au pixel près !!!
C'est à toi de voir pour adapter les largeurs, une fois que c'est fait y a plus à y revenir.
C'est à toi de voir pour adapter les largeurs, une fois que c'est fait y a plus à y revenir.
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
5 mars 2011 à 12:56
5 mars 2011 à 12:56
Oui je suis d'accord, je me suis mal exprimée. Ce que je voulais dire c'est que toutes les colonnes prennent la même taille et c'est cela que je ne souhaite pas.
J'aimerais que les colonne Nom, Prénom soient plus petites que les colonnes rue, mail.
J'aimerais que les colonne Nom, Prénom soient plus petites que les colonnes rue, mail.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 mars 2011 à 13:17
5 mars 2011 à 13:17
Beh toi alors !!! c'est quand même pas compliquer.
Adapter l'array en fonction de ce que tu veux comme largeur.
A+
Adapter l'array en fonction de ce que tu veux comme largeur.
Private Sub Form_Load() Dim Col As Integer, Lg() Lg = Array(2500, 3210, 540, 415, 3698) For Col = 0 To 4 DataGrid1.Columns(Col).Width = Lg(Col) Next Col End Sub
A+
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
6 mars 2011 à 17:01
6 mars 2011 à 17:01
Excusez moi, mais je ne savais pas qu'on pouvait modifier la largeur d'un DataGrid grâce au Array en Visual Basic.
Maintenant me l'avoir dit, je le sais et je vous remercie.
Est-ce possible de renommer les colonnes d'un DataGrid ?
Maintenant me l'avoir dit, je le sais et je vous remercie.
Est-ce possible de renommer les colonnes d'un DataGrid ?
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 mars 2011 à 17:05
6 mars 2011 à 17:05
Si ça vient d'une BD tu ne peu pas, les titres de colonne sont les noms des colonnes de ta table.
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
6 mars 2011 à 18:29
6 mars 2011 à 18:29
OK d'accord.
Merci ça vient d'une BD
Merci ça vient d'une BD
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 mars 2011 à 17:29
6 mars 2011 à 17:29
Mais j'en revient au positionnement de tes formes et vu que tu en a beaucoup tu peu te servir de ce système
Télécharge le zip.
Tu peu tester le projet mais ce n'est pas le but.
Tu copie le fichier LN_RoutinesINI.bas dans le répertoire de ton appli (c'est pas obligatoire mais plus prudent)
Ensuite tu l'ajoute à ton projet..
>> Projet >> Ajouter un module >> Existant >>
dans l'explorateur tu sélectionne le module et tu tape ENTER, il va s'ajouter à tes modules.
Dans le code de la feuille MDI au début du Form_Load tu met
et dans le Unload de la feuille MDI tu met
Dans toutes tes feuilles tu ajoute juste après le Form_Load
Et dans le Form_Unload
Le résultat.. tes feuilles vont toujours s'ouvrir avec les dernières dimensions et positions qu'elles avaient la dernière fois que tu les a ouvertes.
A+
Télécharge le zip.
Tu peu tester le projet mais ce n'est pas le but.
Tu copie le fichier LN_RoutinesINI.bas dans le répertoire de ton appli (c'est pas obligatoire mais plus prudent)
Ensuite tu l'ajoute à ton projet..
>> Projet >> Ajouter un module >> Existant >>
dans l'explorateur tu sélectionne le module et tu tape ENTER, il va s'ajouter à tes modules.
Dans le code de la feuille MDI au début du Form_Load tu met
Private Sub MDIForm_Load() Init_Nom_INI GetFormINI Me '... la suite du code éventuellement End Sub
et dans le Unload de la feuille MDI tu met
Private Sub MDIForm_Unload(Cancel As Integer) PutFormINI Me End Sub
Dans toutes tes feuilles tu ajoute juste après le Form_Load
GetFormINI Me
Et dans le Form_Unload
PutFormINI Me
Le résultat.. tes feuilles vont toujours s'ouvrir avec les dernières dimensions et positions qu'elles avaient la dernière fois que tu les a ouvertes.
A+
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
6 mars 2011 à 18:44
6 mars 2011 à 18:44
Ah oui ça a l'air pratique je testerais.
J'en profite pour vous demandez quelque chose.
Pendant des tests sur mon projet pour essayer d'éliminer les problèmes que je peux avoir, j'ai constaté un problème quand je compare deux zones de texte avec des numéros.
Je m'explique,
ZTun.text = ma première zone de texte = 100
ZTdeux.text = ma deuxième zone de texte = 200
Je fais une comparaison entre ces deux là.
If ZTun.text <= ZTdeux.text then
Msgbox " La zone de texte 1 est la plus petite "
Else
Msgbox " La zone de texte 2 est la plus petite "
End if
Je teste avec 100 dans la zone de texte 1 et 200 dans la zone de texte 2, ça marche.
Par contre si je teste avec 1000 dans la zone de texte 1 et 200 dans la zone de texte 2, ça marche plus. Avec les chiffres de plus de 999 ça ne fonctionne plus.
C'est du à quoi ?
J'en profite pour vous demandez quelque chose.
Pendant des tests sur mon projet pour essayer d'éliminer les problèmes que je peux avoir, j'ai constaté un problème quand je compare deux zones de texte avec des numéros.
Je m'explique,
ZTun.text = ma première zone de texte = 100
ZTdeux.text = ma deuxième zone de texte = 200
Je fais une comparaison entre ces deux là.
If ZTun.text <= ZTdeux.text then
Msgbox " La zone de texte 1 est la plus petite "
Else
Msgbox " La zone de texte 2 est la plus petite "
End if
Je teste avec 100 dans la zone de texte 1 et 200 dans la zone de texte 2, ça marche.
Par contre si je teste avec 1000 dans la zone de texte 1 et 200 dans la zone de texte 2, ça marche plus. Avec les chiffres de plus de 999 ça ne fonctionne plus.
C'est du à quoi ?
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 mars 2011 à 19:16
6 mars 2011 à 19:16
La comparaison se fait sur une variable en string, donc la première lettre est toujours "1"
Pour que ça fonctionne...
Pour que ça fonctionne...
If Val(ZTun.text) <= Val(ZTdeux.text) then
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
7 mars 2011 à 00:00
7 mars 2011 à 00:00
Que dire,
à part un grand merci pour toutes vos réponses précises et une rapidité exemplaire.
Je suis désolé mais j'aurai encore une petite question à élucider si cela vous dérange pas.
Mon problème vient d'un rafraichissement d'un Data.
A partir d'un Data je récupère des informations sur des adhérents de ma base de donnée Access. Je créé des nouveaux adhérents ou j'en supprime.
Quand cela est fait, je souhaite que ma page soit directement mis à jour. Donc je dois rafraichir le Data. J'ai créé un bouton de commande Rafraichir sur la même page du Data (DataAdhérent.refresh). Ça marche parfaitement, je créé un nouveau adhérent, j'appuie sur le bouton de commande Rafraichir et ça marche.
Mais l'inconvénient c'est que je souhaite rafraichir ce DataAdhérent d'une autre page, donc j'ai créé un bouton de commande Rafraichir sur cette page et j'ai inséré ce code là : Fadh.DataAdhérent.refresh.
Fadh = page où le DataAdhérent se situe
DataAdhérent = le Data qui récupère les informations de la base de donnée
Mais cela ne fonctionne pas.
Auriez vous une solution ?
à part un grand merci pour toutes vos réponses précises et une rapidité exemplaire.
Je suis désolé mais j'aurai encore une petite question à élucider si cela vous dérange pas.
Mon problème vient d'un rafraichissement d'un Data.
A partir d'un Data je récupère des informations sur des adhérents de ma base de donnée Access. Je créé des nouveaux adhérents ou j'en supprime.
Quand cela est fait, je souhaite que ma page soit directement mis à jour. Donc je dois rafraichir le Data. J'ai créé un bouton de commande Rafraichir sur la même page du Data (DataAdhérent.refresh). Ça marche parfaitement, je créé un nouveau adhérent, j'appuie sur le bouton de commande Rafraichir et ça marche.
Mais l'inconvénient c'est que je souhaite rafraichir ce DataAdhérent d'une autre page, donc j'ai créé un bouton de commande Rafraichir sur cette page et j'ai inséré ce code là : Fadh.DataAdhérent.refresh.
Fadh = page où le DataAdhérent se situe
DataAdhérent = le Data qui récupère les informations de la base de donnée
Mais cela ne fonctionne pas.
Auriez vous une solution ?
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
7 mars 2011 à 08:56
7 mars 2011 à 08:56
A première vue,
Tu rafraichi le datagrid que tu viens de modifier mais tu n'actualise pas la table dans la BD.
Donc, quand tu rafraichi sur l'autre page les données n'existe pas encore dans la BD.
Mais sans certitude, pas facile avec peu de renseignement.
Tu rafraichi le datagrid que tu viens de modifier mais tu n'actualise pas la table dans la BD.
Donc, quand tu rafraichi sur l'autre page les données n'existe pas encore dans la BD.
Mais sans certitude, pas facile avec peu de renseignement.
coaut
Messages postés
23
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
27 juillet 2011
7 mars 2011 à 12:26
7 mars 2011 à 12:26
D'accord comment voulez vous que j'actualise la table dans la BD.
Quelles informations supplémentaire vous auriez besoin ?
Quelles informations supplémentaire vous auriez besoin ?
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
7 mars 2011 à 12:33
7 mars 2011 à 12:33
Beh comme tu fais pour sauver les modif avant de fermer.