Condition sur cellules d'une feuille entière
Résolu/Fermé
thomanneca
Messages postés
5
Date d'inscription
mardi 26 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
-
26 nov. 2013 à 22:45
thomanneca - 1 déc. 2013 à 18:22
thomanneca - 1 déc. 2013 à 18:22
A voir également:
- Condition sur cellules d'une feuille entière
- Excel cellule couleur si condition texte - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Capture d'écran page entière - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
7 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
26 nov. 2013 à 22:53
26 nov. 2013 à 22:53
Bonjour,
Dans l'éditeur VB de la feuille
;0)
Dans l'éditeur VB de la feuille
Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.Color = vbBlue End Sub
;0)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
26 nov. 2013 à 23:07
26 nov. 2013 à 23:07
le code met la cellule en bleu quand on rentre quelque chose dedans et qu'on quitte la cellule ...
Pour vérifier qu'il s'aget bien d'une date
Mais ça ne fonctionnera que si ce code est collé dans l'éditeur VB de la feuille !!!
Pour vérifier qu'il s'aget bien d'une date
If IsDate(Target.Text) Then Target.Interior.Color = vbBlue End If
Mais ça ne fonctionnera que si ce code est collé dans l'éditeur VB de la feuille !!!
thomanneca
Messages postés
5
Date d'inscription
mardi 26 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
Modifié par pijaku le 28/11/2013 à 09:00
Modifié par pijaku le 28/11/2013 à 09:00
Salut, encore besoin d'un peu de ton aide
J'ai développé quelques conditions sur ma feuille mais j'aimerais à présent pouvoir demander de mettre ces conditions sur les cellules DEJA remplies et non celles que je remplis...
(exemple : fichier déjà développé pour lequel j'aimerais y mettre mes conditions par après via un bouton par exemple)
voici le début de mon exercice :
Merci pour tes conseils
J'ai développé quelques conditions sur ma feuille mais j'aimerais à présent pouvoir demander de mettre ces conditions sur les cellules DEJA remplies et non celles que je remplis...
(exemple : fichier déjà développé pour lequel j'aimerais y mettre mes conditions par après via un bouton par exemple)
voici le début de mon exercice :
Private Sub Worksheet_Change(ByVal Target As Range) If Not IsEmpty(Target) Then If IsDate(Target) Then If Target < Range("A2") Then Target.Interior.Color = vbRed Target.Font.Color = vbWhite Target.NumberFormat = "ddd d" Else Target.Interior.Color = vbBlue 'Target.Interior.Color = RGB(64, 128, 224) Target.NumberFormat = "ddd d" Target.Font.Color = vbWhite Target.Font.Bold = True End If Else If IsNumeric(Target) Then Target.Interior.Color = vbGreen Else If Not IsNumeric(Target) Then Target.Font.Color = RGB(64, 128, 224) Else If Target = "" Then Target.Interior.Color = vbYellow Else Target.Interior.Color = vbBlack Target.Font.Color = vbWhite End If End If End If End If Else If IsEmpty(Target) Then Target.ClearFormats End If End If End Sub
Merci pour tes conseils
thomanneca
Messages postés
5
Date d'inscription
mardi 26 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
26 nov. 2013 à 23:01
26 nov. 2013 à 23:01
Merci beaucoup mais je suis toujours bloqué :s
J'aimerais donc pouvoir par exemple :
- ouvrir une nouvelle feuille,
- cliquer dans n'importe quelle cellule et y inscrire une date (ex. 1/01/2014),
- avoir la condition que met cette cellule en couleur (ex bleu) s'il s'agit bien d'une date..
- quand j'aurai le début, je pense que pour les autres if (caractère, etc), çà devrait aller
Votre code correspond-il à cela?
Un grand merci
J'aimerais donc pouvoir par exemple :
- ouvrir une nouvelle feuille,
- cliquer dans n'importe quelle cellule et y inscrire une date (ex. 1/01/2014),
- avoir la condition que met cette cellule en couleur (ex bleu) s'il s'agit bien d'une date..
- quand j'aurai le début, je pense que pour les autres if (caractère, etc), çà devrait aller
Votre code correspond-il à cela?
Un grand merci
thomanneca
Messages postés
5
Date d'inscription
mardi 26 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
26 nov. 2013 à 23:11
26 nov. 2013 à 23:11
Super merci, je crois que c'est bon... pour le moment !
Un grand merci ;)
Un grand merci ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
thomanneca
Messages postés
5
Date d'inscription
mardi 26 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
Modifié par pijaku le 28/11/2013 à 09:00
Modifié par pijaku le 28/11/2013 à 09:00
Re...
J'ai développé quelques conditions sur ma feuille mais j'aimerais à présent pouvoir demander de mettre ces conditions sur les cellules DEJA remplies et non celles que je remplis...
voici le début de mon exercice :
Je suis ouvert à toute amélioration, même de ce code..
Merci d'avance
J'ai développé quelques conditions sur ma feuille mais j'aimerais à présent pouvoir demander de mettre ces conditions sur les cellules DEJA remplies et non celles que je remplis...
voici le début de mon exercice :
Private Sub Worksheet_Change(ByVal Target As Range) If Not IsEmpty(Target) Then If IsDate(Target) Then If Target < Range("A2") Then Target.Interior.Color = vbRed Target.Font.Color = vbWhite Target.NumberFormat = "ddd d" Else Target.Interior.Color = vbBlue 'Target.Interior.Color = RGB(64, 128, 224) Target.NumberFormat = "ddd d" Target.Font.Color = vbWhite Target.Font.Bold = True End If Else If IsNumeric(Target) Then Target.Interior.Color = vbGreen Else If Not IsNumeric(Target) Then Target.Font.Color = RGB(64, 128, 224) Else If Target = "" Then Target.Interior.Color = vbYellow Else Target.Interior.Color = vbBlack Target.Font.Color = vbWhite End If End If End If End If Else If IsEmpty(Target) Then Target.ClearFormats End If End If End Sub
Je suis ouvert à toute amélioration, même de ce code..
Merci d'avance
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 30/11/2013 à 09:45
Modifié par michel_m le 30/11/2013 à 09:45
Bonjour
(après clic sur un bouton)
essaies :
gain de temps d'environ 80 fois:on fige le défilement de l'écran par
Application.ScreenUpdating = False
on donne l'adresse de la cellule la + en bas et à droite afin de ne pas parcourir toute la feuille!
Dercell = Cells.Find("*", , , , , xlPrevious).Address
et on parcoure la plage Range("A1:" & Dercell)
.....tes conditions en remplacant "Target" par "cellule"
Michel
(après clic sur un bouton)
essaies :
Dim Dercell As String, Cellule As Range
Application.ScreenUpdating = False
Dercell = Cells.Find("*", , , , , xlPrevious).Address
For Each Cellule In Range("A1:" & Dercell)
'tes conditions...
Next
gain de temps d'environ 80 fois:on fige le défilement de l'écran par
Application.ScreenUpdating = False
on donne l'adresse de la cellule la + en bas et à droite afin de ne pas parcourir toute la feuille!
Dercell = Cells.Find("*", , , , , xlPrevious).Address
et on parcoure la plage Range("A1:" & Dercell)
.....tes conditions en remplacant "Target" par "cellule"
Michel