OVH Cloud OVH Cloud

coloriage

8 réponses
Avatar
dario
bonsoir a tous

mon problème
J'ais un tableau de données et je voudrais mettre en couleur une ligne
lorsque je cloture cette ligne en remplissant une case N part une date

8 réponses

Avatar
Garette
Bonsoir,

En utilisant le format conditionnel :
La ligne à colorier est A19:F19
La cellule où on saisit la date est G19


- Selectionner A19:F19
- Format/Mise en forme Conditionnelle
- Selectionner "La formule est"
- A droite taper la formule : =NON(ESTVIDE($G$19))
- Dans Format, cliquer l'onglet motif et choisir la couleur de coloriage.
- OK

Saisir une date en G19, la ligne passe en couleur.

Avatar
dario
re bonsoir
la formule marche sur une ligne
mais je veut l'utilisersur tout le tableau ,chaque ligne individuellement
merci
"Garette" a écrit dans le message de news:

Bonsoir,

En utilisant le format conditionnel :
La ligne à colorier est A19:F19
La cellule où on saisit la date est G19


- Selectionner A19:F19
- Format/Mise en forme Conditionnelle
- Selectionner "La formule est"
- A droite taper la formule : =NON(ESTVIDE($G$19))
- Dans Format, cliquer l'onglet motif et choisir la couleur de coloriage.
- OK

Saisir une date en G19, la ligne passe en couleur.





Avatar
Garette
OK,

En fait sur chaque ligne, tu entres une date dans la derniere colonne et tu
veux dans ce cas que la ligne passe en rouge (par exemple).
Les données sont de A1:E25
Les dates dans F1:F25
- Selectionner A1:E25 ou A1:F25 (si la colonne contenant la date doit etre
en rouge aussi)
- Format/Mise en forme Conditionnelle
- Selectionner "La formule est"
- A droite taper la formule : =NON(ESTVIDE($F1))
- Dans Format, cliquer l'onglet motif et choisir la couleur de coloriage.
- OK
Avatar
dario
Salut

Sa marche au poils
Merci encore

Puis je me permetre de poser une autre question
Dans un userform , je rentre dans 4 textbox des sommes que je convertis en
chiffre pour les transferer dans un tableau ou il sont additionner. J'usque
là tout est ok .Je voudrais dans une 5ième textbox faire l'addition des
4textbox au moment de leurs saisie (voir le total dans userform en
intentané)
"Garette" a écrit dans le message de news:

OK,

En fait sur chaque ligne, tu entres une date dans la derniere colonne et
tu veux dans ce cas que la ligne passe en rouge (par exemple).
Les données sont de A1:E25
Les dates dans F1:F25
- Selectionner A1:E25 ou A1:F25 (si la colonne contenant la date doit etre
en rouge aussi)
- Format/Mise en forme Conditionnelle
- Selectionner "La formule est"
- A droite taper la formule : =NON(ESTVIDE($F1))
- Dans Format, cliquer l'onglet motif et choisir la couleur de coloriage.
- OK



Avatar
Garette
Bonsoir,

Je ne sais pas si il y a plus simple, mais ce qui suit fonctionne :
La meme Sub sur chacun des 4 boutons et le resultat s'affiche en live dans
la TextBox5


Private Sub TextBox1_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox2_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox3_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox4_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Avatar
dario
Bonsoir

L'addition se fait , seul problème,les chiffres apres la virgule ne sont pas
totalise et il ya un decalage dans les chiffres
Excuse moi encore, mais là je maitrise pas trop
"Garette" a écrit dans le message de news:

Bonsoir,

Je ne sais pas si il y a plus simple, mais ce qui suit fonctionne :
La meme Sub sur chacun des 4 boutons et le resultat s'affiche en live dans
la TextBox5


Private Sub TextBox1_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox2_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox3_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub
Private Sub TextBox4_Change()
TextBox5.Value = Val(TextBox1.Value) + Val(TextBox2.Value) +
Val(TextBox3.Value) + Val(TextBox4.Value)
End Sub



Avatar
Garette
Bonjour,

Un probleme de séparateur décimal qui est à interpréter ...
En fait, le code précédent fonctionne très bien lorsque qu'on utilise le
point comme separateur decimal.
Masi avec la virgule c'est different.
J'ai trouvé un bout de code sur le forum dont je me suis inspiré, ça donne
ce qui suit.
Mais, on peut entre indifferement une virgule ou un point comme separateur
decimal.

J'utilise une fonction qui teste le contenu des textbox.
Si c'est vide, je mets zero pour faire la somme avec ce qui est non vide
Si c'est non numerique un message s'affiche
Si c'est numerique ça fait la somme.

Private Sub TextBox1_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox2_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox3_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox4_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub

Function Textboxes_Change(arg)
Sep = Application.International(xlDecimalSeparator)
If arg = "" Then
Textboxes_Change = 0
Else
arg = Replace(arg, ".", Sep)
arg = Replace(arg, ",", Sep)
If Not IsNumeric(arg) And arg <> "-" Then
MsgBox "Non numérique"
arg = Left(arg, Len(arg) - 1)
End If
Textboxes_Change = Val(Replace(arg, ",", "."))
End If
End Function
Avatar
dario
Bonsoir Garette
Je n'ai pas encore utilisé les dernières information que ma fait parvenir.
merci , je te tient au courant
"Garette" a écrit dans le message de news:

Bonjour,

Un probleme de séparateur décimal qui est à interpréter ...
En fait, le code précédent fonctionne très bien lorsque qu'on utilise le
point comme separateur decimal.
Masi avec la virgule c'est different.
J'ai trouvé un bout de code sur le forum dont je me suis inspiré, ça donne
ce qui suit.
Mais, on peut entre indifferement une virgule ou un point comme separateur
decimal.

J'utilise une fonction qui teste le contenu des textbox.
Si c'est vide, je mets zero pour faire la somme avec ce qui est non vide
Si c'est non numerique un message s'affiche
Si c'est numerique ça fait la somme.

Private Sub TextBox1_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox2_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox3_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub
Private Sub TextBox4_Change()
TextBox5.Value = Textboxes_Change(TextBox1.Value) +
Textboxes_Change(TextBox2.Value) _
+ Textboxes_Change(TextBox3.Value) + Textboxes_Change(TextBox4.Value)
End Sub

Function Textboxes_Change(arg)
Sep = Application.International(xlDecimalSeparator)
If arg = "" Then
Textboxes_Change = 0
Else
arg = Replace(arg, ".", Sep)
arg = Replace(arg, ",", Sep)
If Not IsNumeric(arg) And arg <> "-" Then
MsgBox "Non numérique"
arg = Left(arg, Len(arg) - 1)
End If
Textboxes_Change = Val(Replace(arg, ",", "."))
End If
End Function