Mfc pour textbox

Bonjour à tous,

Peut-on mettre en forme un textbox à la même valeur d'une cellule : en format, en couleur, en taille de caractère, et en couleur de fond de la cellule.

Merci de votre aide si précieuse

Amicalement

Noel

Bonjour,

Pour le format, comme ça à froid je ne sais pas, mais pour le reste, il suffit à l'initialisation de ton userform de faire un truc du style :

TextBox1.BackColor = Worksheets("Test").Range("B5").Interior.Color
TextBox1.ForeColor = Worksheets("Test").Range("B5").Font.Color
TextBox1.Font.Size = Worksheets("Test").Range("B5").Font.Size

Cordialement,

Re,

Bonjour Zirak,

Merci pour les codes.

Mais il y a t-il pas un code qui pourrait faire les 3 en même temps?

@+

Amicalement

Noel


Re,

Il y aurait -il une autre solution ?

Exp un textbox qui contient par exemple "SA" le textbox pourrait-on lui donner la couleur qu'on désire?

Merci

@+

Bonjour Noel,

Mais il y a t-il pas un code qui pourrait faire les 3 en même temps?

Pas compris ta question là.

Que veux-tu faire exactement ?

Sinon tu mets le code de Zirak dans un Textbox_Change

With TextBox1
.BackColor = Worksheets("Test").Range("B5").Interior.Color
.ForeColor = Worksheets("Test").Range("B5").Font.Color
.Font.Size = Worksheets("Test").Range("B5").Font.Size
End with

A te relire

Edit dan :

Exp un textbox qui contient par exemple "SA" le textbox pourrait-on lui donner la couleur qu'on désire?

Possible c'est sûr. Avec une instruction SELECT CASE --> CASE = "SA"

Dan a écrit :

Bonjour Noel,

Mais il y a t-il pas un code qui pourrait faire les 3 en même temps?

Pas compris ta question là.

Que veux-tu faire exactement ?

Je pense qu'il veut copier la mise en forme complète d'une cellule (taille et couleur de font, couleur de fond, format,..) en 1 seule commande au lieu de 3 commes j'ai proposé, surement car il doit avoir plusieurs textbox à traiter.

mais personnelement, je ne vois pas comment, déjà pour le format, on peut le forcer via du code sur la textbox, mais je ne vois pas comment le copier depuis la cellule, et pour les 3 autres éléments proposer, je n'ai pas trouvé comment le faire de façon globale sans préciser chaque élément.

Bonjour Dan,

Zirak a bien compris ma demande.

Dans le cadre de la mise en forme de mes projets je voudrai que le textbox prend le même format qu'une cellule dédiée;

@+

Amicalement

Noel

Re,

Noel j'ai bien compris ta demande aussi mais est-ce à l'ouverture de l'USF que tu veux cela ?

En une fois, ce n'est pas possible.

Donne un exemple avec un petit fichier ce sera plus facile d'analyser

Amicalement

Re,

pour le moment je n'ai pas de fichier. A la recherche sur ms anciens projets je voulais savoir si c'était possible.

Je le veux pas à l'ouverture de l'USF mais quand je donne l'ordre.

@+

Amicalement

Noel

Bon, pour le format on peut faire un truc du genre, ça fonctionne :

TextBox1.Text = Format(TextBox1.Text, Worksheets("Test").Range("B5").NumberFormat)

Donc si tu veux le faire sur ordre, pour moi, tu colle un bouton dans ton userform, et tu lui associe un code du type (en reprenant la proposition de Dan) :

With TextBox1
.BackColor = Worksheets("Test").Range("B5").Interior.Color
.ForeColor = Worksheets("Test").Range("B5").Font.Color
.Font.Size = Worksheets("Test").Range("B5").Font.Size
.Text = Format(TextBox1.Text, Worksheets("Test").Range("B5").NumberFormat)
End With

Quitte à mettre ca dans une fonction, et lorsque tu veux donner l'ordre de faire la mise en format, tu transmets à la fonction, le nom de la textbox et la cellule de référence, ca doit pouvoir se faire comme ca, mais je pense pas que l'on puisse le faire en 1 seule commande.

Par contre hésites pas à tester les formats, mais je crois que ca garde les standards anglo-saxon, j'ai essayé avec une cellule ayant le format monétaire, ca marche, mais ca m'a ajouté le symbole $ au lieu de € alors que si je regarde mon format de cellule, c'est bien le €

Donc il faudra peut-être caser un REPLACE() en plus ....

Cordialement,

Bonjour à tous,

Bonjour Zirak et Dan,

J'ai bien piger. Mais comment faire pour 31 textbox se sera long pour encoder et puis j'aurai le risque comme cela m'est arrivé pour me dire "code trop long"

@+

Amicalement

Noel

Bonjour Tous,

il ne te reste qu'à passer par un module de classe, et ta macro restera de 3 lignes, par contre là il faudra le fichier car c'est un peu plus compliqué.

a+

papou

Re bonjour Cfnc3

voilà a toute vitesse le petit fichier que je t'ai fait, tu n,'as plus qu'à adapter, ou a me donner le fichier là je pars maintenant

sur double clique dans le textbox tu récupères la couleur

a+

Papou

9cfnc3-class.zip (10.66 Ko)

Re,

Bonjour Paritec

Merci, le temps de préparer un petit fichier

@+

re Cfncf3 le forum

oui mais là je pars retour cet aprem vers 17h30 je te ferai cela après ou demain matin au plus tard

a+

papou

Re bonjour Cfnc3

voilà a toute vitesse le petit fichier que je t'ai fait, tu n,'as plus qu'à adapter, ou a me donner le fichier là je pars maintenant

sur double clique dans le textbox tu récupères la couleur

a+

Papou

7cfnc3-class.zip (10.66 Ko)

Re,

Voilà un petit fichier crée vite fait

@+

Amicalement

Noel


Re,

Voilà un petit fichier crée vite fait

@+

Amicalement

Noel

Excuse j'ai oublié de joindre le fichier

12classeur1.zip (10.51 Ko)

re Cfnc3 le forum

plus le temps de regarder ton fichier qui de plus n'est pas passé mais regardes le mien tu devrais t'en sortir a plus

a+

Papou

12cfnc3-class.zip (10.66 Ko)

Re Paritec,

Le fichier que tu m'as expédié le bouton ne fonctionne pas sous MAC

@+


Re,

Il y a un truc qui ne passe as sous MAC.

Déjà à l'ouverture, il met à jour les métafiles

Même quand je passe sous le VBA et que je fais F5 su l'USF il se plante.

@+

Bonjour cfn3cfn le forum

si ce n'est que pour cela, voilà sans module de classe

( bon j'ai repris ton fichier alors cette fois-ci cela devrait marcher, en plus je n'ai pas mis de classe donc tu me rediras)

a+

papou

7cfnc3-mac-v2.zip (12.30 Ko)

Salut le forum

Pour remplir tes Textbox's

Private Sub CommandButton1_Click()
  Dim Ws As Worksheet
  Dim I As Byte

Set Ws = Sheets("Test")

For I = 1 To 6
  With Me.Controls("TextBox" & I)
    .Value = Ws.Cells(2, I)
    .BackColor = Ws.Cells(2, I).Interior.Color
    .ForeColor = Ws.Cells(2, I).Font.Color
    .Font.Size = Ws.Cells(2, I).Font.Size
  End With
Next I

Set Ws = Nothing

End Sub

Mytå

Bonjour à tous,

Bonjour Myta,

Je te remercie pour le code cela fonctionne super bien.

Mais comme je suis entrain de mettre en forme quelques projets, je voudrai savoir si les cellules au lieu d'être en ligne sont en colonne comment s'y prendre

Merci de ton aide

Amicalement

noel

Bonjour cfnc3 le forum

bon alors je vois que moi tu ne me remercies pas , alors que je t'ai envoyé la réponse 45 minutes avant myta !!!!

pas grave!!! ma solution ne te plait pas?

Voilà si c'est en colonne tes mises en formes à copier

(on peut aussi naturellement faire avec les deux les lignes et les colonnes)

a+

papou

8cfnc3-mac-v3.zip (12.79 Ko)
Rechercher des sujets similaires à "mfc textbox"