Mise en couleur Zone de texte
Résolu
TintinU2
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
TintinU2 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
TintinU2 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Zone de texte vba
- Alternative zone telechargement - Accueil - Outils
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Traitement de texte gratuit - Guide
4 réponses
Bonsoir
Une proposition à compléter et à adapter,
avec le mois en A1 de la feuille 1 et le nombre en M260 de la feuille 2( la même valeur que dans la textbox1)
Une proposition à compléter et à adapter,
avec le mois en A1 de la feuille 1 et le nombre en M260 de la feuille 2( la même valeur que dans la textbox1)
Sub CouleurTextBox() Application.ScreenUpdating = False Mois = Sheets("Feuil1").[A1] Nbr = Sheets("Feuil2").[M260] Select Case Mois Case 1 Select Case Nbr Case 1, 2 TextBox1.BackColor = 65280 Case 3, 4 TextBox1.BackColor = 33023 Case Is > 4 TextBox1.BackColor = 255 End Select Case 2 Select Case Nbr Case 1, 3 TextBox1.BackColor = 65280 Case 4, 5 TextBox1.BackColor = 33023 Case Is > 5 TextBox1.BackColor = 255 End Select Case 3 Select Case Nbr Case 1, 4 TextBox1.BackColor = 65280 Case 5, 6 TextBox1.BackColor = 33023 Case Is > 6 TextBox1.BackColor = 255 End Select ' ainsi de suite End Select End SubCdlt
Bonjour
Comme précédemment, à compléter et à adapter selon vos données.
Rappel:
le mois en A1 de la feuille 1
le nombre en M260 de la feuille 2
et 90 textbox sur la feuille 3
Cdlt
Comme précédemment, à compléter et à adapter selon vos données.
Rappel:
le mois en A1 de la feuille 1
le nombre en M260 de la feuille 2
et 90 textbox sur la feuille 3
Sub CouleurTextBox() Application.ScreenUpdating = False Mois = Sheets("Feuil1").[A1] Nbr = Sheets("Feuil2").[M260] Select Case Mois Case 1 Select Case Nbr Case 1, 2 vert Case 3, 4 Orange Case Is > 4 Rouge End Select Case 2 Select Case Nbr Case 1, 3 vert Case 4, 5 Orange Case Is > 5 Rouge End Select Case 3 Select Case Nbr Case 1, 4 vert Case 5, 6 Orange Case Is > 6 Rouge End Select ' ainsi de suite End Select End Sub Sub vert() For i = 1 To 90 Sheets("Feuil3").OLEObjects("TextBox" & i).Object.BackColor = 65280 Next i End Sub Sub Orange() For i = 1 To 90 Sheets("Feuil3").OLEObjects("TextBox" & i).Object.BackColor = 33023 Next i End Sub Sub Rouge() For i = 1 To 90 Sheets("Feuil3").OLEObjects("TextBox" & i).Object.BackColor = 255 Next i End Sub
Cdlt
Bonjour Frenchie83,
Merci pour ta réponse
Je pense que j'ai oublié de te préciser un petit détail.
Pour chaque zone de texte(les 90), le nombre provient d'une cellule différente
Par exemple :
Zone texte 1 = M20
Zone texte 2 = M50
Zone texte 3 = M75
Zone texte 4 = M120
....
Penses-tu que je dois faire un boucle pour chaque numéro ?
Merci d'avance
TintinU2
Merci pour ta réponse
Je pense que j'ai oublié de te préciser un petit détail.
Pour chaque zone de texte(les 90), le nombre provient d'une cellule différente
Par exemple :
Zone texte 1 = M20
Zone texte 2 = M50
Zone texte 3 = M75
Zone texte 4 = M120
....
Penses-tu que je dois faire un boucle pour chaque numéro ?
Merci d'avance
TintinU2
Bonjour
Le plus simple, ajoutez une feuille que vous nommerez "ListeZoneTexte"
En colonne A, de A1 à A90, énumérez les zones de texte "Zone texte 1, Zone texte 2 etc.. et en colonne B mettez les cellules correspondantes en B1: M20, en B2: M50, en B3: M75, etc...
Ensuite remplacez le code précédent par celui-ci
Cdlt
Le plus simple, ajoutez une feuille que vous nommerez "ListeZoneTexte"
En colonne A, de A1 à A90, énumérez les zones de texte "Zone texte 1, Zone texte 2 etc.. et en colonne B mettez les cellules correspondantes en B1: M20, en B2: M50, en B3: M75, etc...
Ensuite remplacez le code précédent par celui-ci
Sub CouleurTextBox() Application.ScreenUpdating = False Mois = Sheets("Feuil1").[A1] For i = 1 To 90 Nbr = Sheets("Feuil2").Range(Sheets("ListeZoneTexte").Cells(i, 2)) Select Case Mois Case 1 Select Case Nbr Case 1, 2 vert Case 3, 4 Orange Case Is > 4 Rouge End Select Case 2 Select Case Nbr Case 1, 3 vert Case 4, 5 Orange Case Is > 5 Rouge End Select Case 3 Select Case Nbr Case 1, 4 vert Case 5, 6 Orange Case Is > 6 Rouge End Select ' ainsi de suite End Select Next i End Sub
Cdlt
Bonjour Frenchie83,
Merci pour ta réponse.
Je vois ce que tu veux faire. Cependant j'ai un problème avec la propriété "OLEObjects"
Pour être sur que je n'ai pas fait d'erreur, je te transmet mon fichier de test :
https://www.cjoint.com/c/EKkjicGRsLF
Merci d'avance
TintinU2
Merci pour ta réponse.
Je vois ce que tu veux faire. Cependant j'ai un problème avec la propriété "OLEObjects"
Pour être sur que je n'ai pas fait d'erreur, je te transmet mon fichier de test :
https://www.cjoint.com/c/EKkjicGRsLF
Merci d'avance
TintinU2
Bonsoir
Ca ne fonctionne pas, parce que je n'ai pas pri les mêmes textbox que vous.
Avec ceci, ça devrait aller. (Pour la couleur orange, j'ai pas trop cherché)
Ca ne fonctionne pas, parce que je n'ai pas pri les mêmes textbox que vous.
Avec ceci, ça devrait aller. (Pour la couleur orange, j'ai pas trop cherché)
Sub CouleurTextBox() Application.ScreenUpdating = False Mois = Sheets("Feuil Affichage").[B2] For i = 1 To 15 Nbr = Sheets("Feuil Nbr").Range(Sheets("ListeZoneTexte").Cells(i, 2)) Select Case Mois Case 1 Select Case Nbr Case 1, 2 vert Case 3, 4 Orange Case Is > 4 Rouge End Select Case 2 Select Case Nbr Case 1, 3 vert Case 4, 5 Orange Case Is > 5 Rouge End Select Case 3 Select Case Nbr Case 1, 4 vert Case 5, 6 Orange Case Is > 6 Rouge End Select ' ainsi de suite End Select Next i End Sub Sub vert() For i = 1 To 15 Sheets("Feuil Affichage").Shapes("ZoneTexte " & i).Select With Selection.Interior .ColorIndex = 4 End With Next i End Sub Cdlt Sub Orange() For i = 1 To 15 Sheets("Feuil Affichage").Shapes("ZoneTexte " & i).Select With Selection.Interior .ColorIndex = 22 End With Next i End Sub Sub Rouge() For i = 1 To 15 Sheets("Feuil Affichage").Shapes("ZoneTexte " & i).Select With Selection.Interior .ColorIndex = 3 End With Next i End Sub
Merci beaucoup pour ta réponse.
Cependant, après avoir adapter ton code avec les éléments de mon classeur, excel me met une erreur sur les "TextBox1.BackColor = ...".
Je pense aussi que je n'affecte pas sur la bonne feuille
Mon mois ce trouve sur la feuil1
Mon nombre ce situe sur la feuil2
Et ma zone de texte ce situe sur ma feuil3
De plus, comme j'ai à peu près 90 TextBox sur ma feuille, je voudrais savoir si il n'y a pas une manière plus simple d'effectuer le code plutôt que de répéter le code 90 fois.
Merci d'avance
TintinU2