Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Alignement du texte dans un textbox

6 réponses
Avatar
Mima
Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à suivre.

6 réponses

Avatar
michdenis
Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à suivre.
Avatar
Mima
Bonjour MichDenis
Non, cela ne répond pas à mon problème.
C'est la première chose que j'ai essayé.
Je modifie tous mes textbox, j'enregistre et quand j'ouvre pour
vérification, c'est comme si je n'avais rien fait !
Le problème pourrait-il venir du fait que je garde mon modèle au format
compatible 2003 ?
Ou bien est-ce le fait d'avoir deux versions différentes d'Excel sur le même
poste ?
C'est pour ça que je cherche la ligne de commande qui pourrait modifier ces
alignements à la création du nouveau document à partir de mon modèle...,
mais là, l'enregistreur ne m'est d'aucun secour.



"michdenis" a écrit dans le message de news:

Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de
discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à suivre.

Avatar
michdenis
À ma connaissance, il me semble que les textbox
n'ont pas une propriété permettant de définir la
position du texte en hauteur.

Peux-tu nous dire comment tu as procédé pour
obtenir la position du texte dans ton textbox Excel 2003 ?



"Mima" a écrit dans le message de groupe de discussion :

Bonjour MichDenis
Non, cela ne répond pas à mon problème.
C'est la première chose que j'ai essayé.
Je modifie tous mes textbox, j'enregistre et quand j'ouvre pour
vérification, c'est comme si je n'avais rien fait !
Le problème pourrait-il venir du fait que je garde mon modèle au format
compatible 2003 ?
Ou bien est-ce le fait d'avoir deux versions différentes d'Excel sur le même
poste ?
C'est pour ça que je cherche la ligne de commande qui pourrait modifier ces
alignements à la création du nouveau document à partir de mon modèle...,
mais là, l'enregistreur ne m'est d'aucun secour.



"michdenis" a écrit dans le message de news:

Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de
discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à suivre.

Avatar
Mima
Rebonjour
J'ai fait une boucle sur tous les textbox avec la macro suivante :.

Sub Centrer()
Dim Shss As Shape
For Each Shss In Worksheets(1).Shapes
If Left(Shss.Name, 2) = "ZT" Then
Shss.Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
End With
End If
Next
End Sub
Ca fonctionne pour 2007, j'enregistre, je ferme le classeur.
Je l'ouvre à nouveau et, c'est comme si je n'avais rien fait......
Parcontre, je viens d'inserrercette routine à la création du nouveau
document par Exc2007, là, ça marche mais si je crée le document à partir de
2003, ça plante !!!!
Je n'y comprend plus rien


"michdenis" a écrit dans le message de news:

À ma connaissance, il me semble que les textbox
n'ont pas une propriété permettant de définir la
position du texte en hauteur.

Peux-tu nous dire comment tu as procédé pour
obtenir la position du texte dans ton textbox Excel 2003 ?



"Mima" a écrit dans le message de groupe de
discussion :

Bonjour MichDenis
Non, cela ne répond pas à mon problème.
C'est la première chose que j'ai essayé.
Je modifie tous mes textbox, j'enregistre et quand j'ouvre pour
vérification, c'est comme si je n'avais rien fait !
Le problème pourrait-il venir du fait que je garde mon modèle au format
compatible 2003 ?
Ou bien est-ce le fait d'avoir deux versions différentes d'Excel sur le
même
poste ?
C'est pour ça que je cherche la ligne de commande qui pourrait modifier
ces
alignements à la création du nouveau document à partir de mon modèle...,
mais là, l'enregistreur ne m'est d'aucun secour.



"michdenis" a écrit dans le message de news:

Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de
discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est
utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à
suivre.




Avatar
michdenis
A ) D'abord, tu n'utilises pas un TextBox de la boîte d'outils
Contrôle mais une "zone de texte"

B ) La macro que tu utilises est valable pour des classeurs issus
d'une version 2003 ou 2007. Elle ne présente aucune difficulté.

C ) Dans une feuille d'un classeur sous Excel 2003, j'ai inséré une
zone de texte et j'ai utilisé ta macro. Effectivement, le texte était
aligné au centre. J'ai ouvert le même classeur sous Excel 2007,
et le texte était toujours aligné au centre et le formatage de la
zone de texte était toujours valide.

D ) J'ai aussi fait le test suivant : inséré dans une feuille d'un classeur
Excel 2007 une zone de texte, appliquer ta macro, fermer le classeur
et lorsque j'ai ouvert le classeur de nouveau, la zone de texte était
dans le même état qu'à sa fermeture.

En conclusion, je ne peux pas reproduire le phénomène que tu observes.
Tu peux toujours utiliser le site Cjoint.com ou cijoint.fr pour publier ton
classeur et tu nous retournes l'adresse que tu obtiendras ici en nous indiquant
les manoeuvres problématiques.




"Mima" a écrit dans le message de groupe de discussion :
#
Rebonjour
J'ai fait une boucle sur tous les textbox avec la macro suivante :.

Sub Centrer()
Dim Shss As Shape
For Each Shss In Worksheets(1).Shapes
If Left(Shss.Name, 2) = "ZT" Then
Shss.Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
End With
End If
Next
End Sub
Ca fonctionne pour 2007, j'enregistre, je ferme le classeur.
Je l'ouvre à nouveau et, c'est comme si je n'avais rien fait......
Parcontre, je viens d'inserrercette routine à la création du nouveau
document par Exc2007, là, ça marche mais si je crée le document à partir de
2003, ça plante !!!!
Je n'y comprend plus rien


"michdenis" a écrit dans le message de news:

À ma connaissance, il me semble que les textbox
n'ont pas une propriété permettant de définir la
position du texte en hauteur.

Peux-tu nous dire comment tu as procédé pour
obtenir la position du texte dans ton textbox Excel 2003 ?



"Mima" a écrit dans le message de groupe de
discussion :

Bonjour MichDenis
Non, cela ne répond pas à mon problème.
C'est la première chose que j'ai essayé.
Je modifie tous mes textbox, j'enregistre et quand j'ouvre pour
vérification, c'est comme si je n'avais rien fait !
Le problème pourrait-il venir du fait que je garde mon modèle au format
compatible 2003 ?
Ou bien est-ce le fait d'avoir deux versions différentes d'Excel sur le
même
poste ?
C'est pour ça que je cherche la ligne de commande qui pourrait modifier
ces
alignements à la création du nouveau document à partir de mon modèle...,
mais là, l'enregistreur ne m'est d'aucun secour.



"michdenis" a écrit dans le message de news:

Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de
discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est
utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à
suivre.




Avatar
Mima
Autan pour moi avec la confusion texbox/zone de texte, mauvaise habitude de
langage qui est source d'erreur...
Je sais bien que cette macro ne présente pas de difficultés. C'est bien
pourquoi je rage.
Je ne peux malheureusement pas partager le fichier qui pose problème.
Je vais essayer de résoudre le problème en faisant un test sur la version
utilisée et faire le traitement approprié.
Merci pour ton aide
MiMa


"michdenis" a écrit dans le message de news:
e$
A ) D'abord, tu n'utilises pas un TextBox de la boîte d'outils
Contrôle mais une "zone de texte"

B ) La macro que tu utilises est valable pour des classeurs issus
d'une version 2003 ou 2007. Elle ne présente aucune difficulté.

C ) Dans une feuille d'un classeur sous Excel 2003, j'ai inséré une
zone de texte et j'ai utilisé ta macro. Effectivement, le texte était
aligné au centre. J'ai ouvert le même classeur sous Excel 2007,
et le texte était toujours aligné au centre et le formatage de la
zone de texte était toujours valide.

D ) J'ai aussi fait le test suivant : inséré dans une feuille d'un
classeur
Excel 2007 une zone de texte, appliquer ta macro, fermer le classeur
et lorsque j'ai ouvert le classeur de nouveau, la zone de texte était
dans le même état qu'à sa fermeture.

En conclusion, je ne peux pas reproduire le phénomène que tu observes.
Tu peux toujours utiliser le site Cjoint.com ou cijoint.fr pour publier
ton
classeur et tu nous retournes l'adresse que tu obtiendras ici en nous
indiquant
les manoeuvres problématiques.




"Mima" a écrit dans le message de groupe de
discussion :
#
Rebonjour
J'ai fait une boucle sur tous les textbox avec la macro suivante :.

Sub Centrer()
Dim Shss As Shape
For Each Shss In Worksheets(1).Shapes
If Left(Shss.Name, 2) = "ZT" Then
Shss.Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
End With
End If
Next
End Sub
Ca fonctionne pour 2007, j'enregistre, je ferme le classeur.
Je l'ouvre à nouveau et, c'est comme si je n'avais rien fait......
Parcontre, je viens d'inserrercette routine à la création du nouveau
document par Exc2007, là, ça marche mais si je crée le document à partir
de
2003, ça plante !!!!
Je n'y comprend plus rien


"michdenis" a écrit dans le message de news:

À ma connaissance, il me semble que les textbox
n'ont pas une propriété permettant de définir la
position du texte en hauteur.

Peux-tu nous dire comment tu as procédé pour
obtenir la position du texte dans ton textbox Excel 2003 ?



"Mima" a écrit dans le message de groupe de
discussion :

Bonjour MichDenis
Non, cela ne répond pas à mon problème.
C'est la première chose que j'ai essayé.
Je modifie tous mes textbox, j'enregistre et quand j'ouvre pour
vérification, c'est comme si je n'avais rien fait !
Le problème pourrait-il venir du fait que je garde mon modèle au format
compatible 2003 ?
Ou bien est-ce le fait d'avoir deux versions différentes d'Excel sur le
même
poste ?
C'est pour ça que je cherche la ligne de commande qui pourrait modifier
ces
alignements à la création du nouveau document à partir de mon modèle...,
mais là, l'enregistreur ne m'est d'aucun secour.



"michdenis" a écrit dans le message de news:

Bonjour,

Si tu veux que la modification soit enregistrée dans ton
modèle, tu dois ouvrir ton fichier modèle en tant que
modèle, apporter la modification que tu désires et
sauvegarder les modifications dans ton modèle. Sinon,
chaque fois que tu feras appel à ton modèle pour la
création d'un nouveau fichier, tu devras effectuer ces
modifications pour chacun des classeurs.

Est-ce que cela résout ton problème ?


"Mima" a écrit dans le message de groupe de
discussion :

Bonjour

J'ai développé une application avec Excel 2003 qui maintenant est
utilisée
aussi sous Excel 2007.
Sous 2003, j'utilise dans un modèle un certain nombre de textbox que je
renseigne par macro.
Le texte est par défaut (enregistré dans le modèle) aligné à gauche et
centré en hauteur.
Sous 2007, le texte se retrouve en position basse et je n'arrive pas à
forcer mon modèle pour qu'il conserve cette position gauche centrée
verticale.
J'ai essayé de résoudre le problème en utilisant l'enregistreur de macro
sous 2007 mais il n'enregistre rien du tout et je ne sais pas quelle
commande utiliser.
Merci d'avance à tous ceux qui pourront m'éclairer sur la marche à
suivre.