Mise en couleur Zone de texte
Résolu/Fermé
TintinU2
Messages postés
79
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
8 juillet 2016
-
3 nov. 2015 à 17:15
TintinU2 Messages postés 79 Date d'inscription lundi 26 octobre 2015 Statut Membre Dernière intervention 8 juillet 2016 - 12 nov. 2015 à 10:10
TintinU2 Messages postés 79 Date d'inscription lundi 26 octobre 2015 Statut Membre Dernière intervention 8 juillet 2016 - 12 nov. 2015 à 10:10
A voir également:
- Zone de texte vba
- Zone telechargement - Guide
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Vba format texte ✓ - Forum VB / VBA
- Appel data zone franche - Forum Consommation & Internet
4 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
4 nov. 2015 à 19:30
4 nov. 2015 à 19:30
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
Modifié par Frenchie83 le 6/11/2015 à 03:53
Modifié par Frenchie83 le 6/11/2015 à 03:53
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
TintinU2
Messages postés
79
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
8 juillet 2016
5
9 nov. 2015 à 10:27
9 nov. 2015 à 10:27
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
10 nov. 2015 à 08:12
10 nov. 2015 à 08:12
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
TintinU2
Messages postés
79
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
8 juillet 2016
5
10 nov. 2015 à 10:12
10 nov. 2015 à 10:12
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
10 nov. 2015 à 18:12
10 nov. 2015 à 18:12
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
TintinU2
Messages postés
79
Date d'inscription
lundi 26 octobre 2015
Statut
Membre
Dernière intervention
8 juillet 2016
5
12 nov. 2015 à 10:10
12 nov. 2015 à 10:10
Merci pour ta réponse Frenchie83
ça fonctionne parfaitement :)
Merci
ça fonctionne parfaitement :)
Merci
5 nov. 2015 à 10:19
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