Redimensionner champ d'une requête en fonction du texte
Fermé
maylouz
Messages postés
34
Date d'inscription
mercredi 10 avril 2013
Statut
Membre
Dernière intervention
24 juin 2016
-
23 mai 2013 à 16:31
Tessel75 - 24 mai 2013 à 23:30
Tessel75 - 24 mai 2013 à 23:30
A voir également:
- Redimensionner champ d'une requête en fonction du texte
- Fonction si et - Guide
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
- Transcription texte en audio - Guide
2 réponses
blux
Messages postés
26543
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
21 décembre 2024
3 318
23 mai 2013 à 22:55
23 mai 2013 à 22:55
Salut,
où sont affichés les résultats de ta requête : dans la fenêtre requête, dans un formulaire... ?
où sont affichés les résultats de ta requête : dans la fenêtre requête, dans un formulaire... ?
Bonsoir,
Ci-dessous, un morceau de code qui devrait répondre à ta demande, il suffit d'adapter les nombres et les noms à ton formulaire et à l'effet recherché, évidemment.
- Screen.ActiveControl est le contrôle actif, cela permet d'éviter de le nommer
- 40 = Nbre de caractères du contrôle, à adapter
- CodeContextObject est l'Objet en cours de manipulation, (le formulaire actif)
- Détail0 est le nom de la partie du formulaire dans laquelle est positionné le contrôle.
Tu peux placer ce type de code soit à l'activation du formulaire, ou comme ici à l'entrée du pointeur dans le formulaire que tu veux agrandir selon la taille du texte
ATTENTION: plusieurs précautions à prendre.
1) Agrandir le formulaire AVANT que le contrôle lui-même soit agrandit, c'est pour cela que la ligne "CodeContextObject.Détail0.Height" vient avant la ligne "Screen.ActiveControl.Height"
2) Il est indispensable de prévoir un code pour le retour aux dimensions initiales après la sortie, et aussi un code pour les cas où l'agrandissement n'est pas nécessaire
3) Il faut savoir qu'il n'est pas possible d'avoir plusieurs dimensions d'un même contrôle en même temps. Càd que si tu agrandit ton contrôle quand un texte est un peu long, c'est toute la colonne de ce contrôle qui sera agrandit en même temps. Et de même si le texte est plus court et que le contrôle est réduit. C'est bien pour ça qu'il est préférable de mettre ce code à l'entrée du pointeur dans le contrôle plutôt qu'à l'activation du formulaire.
En espérant t'avoir été un peu utile. Bonne suite
Ci-dessous, un morceau de code qui devrait répondre à ta demande, il suffit d'adapter les nombres et les noms à ton formulaire et à l'effet recherché, évidemment.
If Len(Screen.ActiveControl) > 40 Then CodeContextObject.Détail0.Height = 1820 Screen.ActiveControl.Height = 750 If Len(Screen.ActiveControl) > 80 Then _ Screen.ActiveControl.ScrollBars = 2 End If
- Screen.ActiveControl est le contrôle actif, cela permet d'éviter de le nommer
- 40 = Nbre de caractères du contrôle, à adapter
- CodeContextObject est l'Objet en cours de manipulation, (le formulaire actif)
- Détail0 est le nom de la partie du formulaire dans laquelle est positionné le contrôle.
Tu peux placer ce type de code soit à l'activation du formulaire, ou comme ici à l'entrée du pointeur dans le formulaire que tu veux agrandir selon la taille du texte
ATTENTION: plusieurs précautions à prendre.
1) Agrandir le formulaire AVANT que le contrôle lui-même soit agrandit, c'est pour cela que la ligne "CodeContextObject.Détail0.Height" vient avant la ligne "Screen.ActiveControl.Height"
2) Il est indispensable de prévoir un code pour le retour aux dimensions initiales après la sortie, et aussi un code pour les cas où l'agrandissement n'est pas nécessaire
3) Il faut savoir qu'il n'est pas possible d'avoir plusieurs dimensions d'un même contrôle en même temps. Càd que si tu agrandit ton contrôle quand un texte est un peu long, c'est toute la colonne de ce contrôle qui sera agrandit en même temps. Et de même si le texte est plus court et que le contrôle est réduit. C'est bien pour ça qu'il est préférable de mettre ce code à l'entrée du pointeur dans le contrôle plutôt qu'à l'activation du formulaire.
En espérant t'avoir été un peu utile. Bonne suite
23 mai 2013 à 23:03
Comme ça si un client m'appelle , depuis sa fiche , j'aurais accès à tous l'historique de nos échanges .
23 mai 2013 à 23:11
23 mai 2013 à 23:19
donc si dans un enregistrement , j'ai une toute petite phrase , j'aurais un gros espace pour rien.
24 mai 2013 à 08:58
Dans tous les cas, tu devrais laisser de la place pour les autres contrôles qui seraient en dessous de ta zone, non ?