colorer cellule en VBA

Le
Pascal
bonjour,
Pourriez-vous m'aider à réaliser cette SUB ?
je cherche à colorer les cellules vide dans la plage A3:M200 en appui sur
bouton

Private Sub cmdCelluleVide_Click()
Dim Target As Range
Target.Value = "a3:m200"
If Target.Value = "" Then
Range(Target.Address, Target.Offset(0, 0).Address).Interior.ColorIndex
= 5
End If
End Sub

Merci d'avance

Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 5
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #6978391
Bonjour,
je cherche à colorer les cellules vide dans la plage A3:M200
'------------

Sub jj()
Application.ScreenUpdating = False
For Each c In [a3:m200]
If c = "" Then c.Interior.ColorIndex = 5
Next
End Sub
'----------
--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:

bonjour,
Pourriez-vous m'aider à réaliser cette SUB ?
je cherche à colorer les cellules vide dans la plage A3:M200 en appui sur
bouton

Private Sub cmdCelluleVide_Click()
Dim Target As Range
Target.Value = "a3:m200"
If Target.Value = "" Then
Range(Target.Address, Target.Offset(0, 0).Address).Interior.ColorIndex
= 5
End If
End Sub

Merci d'avance

Pascal




francois.forcet
Le #6978381
Salut Pascal

Soit la Feuil1 à traiter
Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A3", "M200")
If c = "" Then
c.Interior.ColorIndex = 5
End If
Next

Celà devrait convenir
Maintenant des solutions avec la mise en forme conditionnelle existent
Je laisse le soin aux adeptes de te les proposer

Donne moi des nouvelles !!!!
Pascal
Le #6978361
ah que c'est beau la culture!
merci à vous deux pour vos solutions
Pascal


Salut Pascal

Soit la Feuil1 à traiter
Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A3", "M200")
If c = "" Then
c.Interior.ColorIndex = 5
End If
Next

Celà devrait convenir
Maintenant des solutions avec la mise en forme conditionnelle existent
Je laisse le soin aux adeptes de te les proposer

Donne moi des nouvelles !!!!
Pascal
Le #6978351
Re,
dans les 2 cas de figure, je dois déclarer C
dim c as ??? range?
Pascal

Salut Pascal

Soit la Feuil1 à traiter
Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A3", "M200")
If c = "" Then
c.Interior.ColorIndex = 5
End If
Next

Celà devrait convenir
Maintenant des solutions avec la mise en forme conditionnelle existent
Je laisse le soin aux adeptes de te les proposer

Donne moi des nouvelles !!!!
MichDenis
Le #6978331
Si tes cellules sont réellement vides, ceci est suffisant

Sub Test()
On Error Resume Next
With Worksheets("NomDeLaFeuille")
.Range("A3:M200").SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 5
End With
End Sub



"Pascal" ,com> a écrit dans le message de news:

bonjour,
Pourriez-vous m'aider à réaliser cette SUB ?
je cherche à colorer les cellules vide dans la plage A3:M200 en appui sur
bouton

Private Sub cmdCelluleVide_Click()
Dim Target As Range
Target.Value = "a3:m200"
If Target.Value = "" Then
Range(Target.Address, Target.Offset(0, 0).Address).Interior.ColorIndex
= 5
End If
End Sub

Merci d'avance

Pascal
francois.forcet
Le #6977271
Rebonjours Pascal

Non pas besoin de déclarer la variable le code fonctionne en l'état

Fais des essais et dis moi !!!!
MichDenis
Le #6977261
Si dans le haut de son module, il est inscrit : Option Explicit
Il devra déclarer cette variable et c'est une excellente habitude
à prendre pour ceux que cela concerne...

Dim C as Range




Rebonjours Pascal

Non pas besoin de déclarer la variable le code fonctionne en l'état

Fais des essais et dis moi !!!!
Jacky
Le #6977241
Re...
oui si tu es en:
Option Explicit
Les variables étant Variant par défaut
Dim C
devrait être suffisant
--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:

Re,
dans les 2 cas de figure, je dois déclarer C
dim c as ??? range?
Pascal

Salut Pascal

Soit la Feuil1 à traiter
Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A3", "M200")
If c = "" Then
c.Interior.ColorIndex = 5
End If
Next

Celà devrait convenir
Maintenant des solutions avec la mise en forme conditionnelle existent
Je laisse le soin aux adeptes de te les proposer

Donne moi des nouvelles !!!!



MichDenis
Le #6988121
| Dim C
***Pas vraiment suffisant pour être efficace

voici un exemple d'une procédure élaborée par John Walkenback.:

Tu fais rouler cette procédure dans un module standard telle qu'elle est
écrite et tu refais rouler cette fois en mettant une apostrophe devant chaque
ligne débutant par DIM pour désactiver la déclaration des variables ou
enlève seulement leur type ...

Le résultat devrait t'en convaincre ....
-------------------
Sub TimeTest()

Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date

StartTime = Timer

x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i

EndTime = Timer

MsgBox EndTime - StartTime

End Sub
-------------------




"Jacky" Re...
oui si tu es en:
Option Explicit
Les variables étant Variant par défaut
Dim C
devrait être suffisant
--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:

Re,
dans les 2 cas de figure, je dois déclarer C
dim c as ??? range?
Pascal

Salut Pascal

Soit la Feuil1 à traiter
Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A3", "M200")
If c = "" Then
c.Interior.ColorIndex = 5
End If
Next

Celà devrait convenir
Maintenant des solutions avec la mise en forme conditionnelle existent
Je laisse le soin aux adeptes de te les proposer

Donne moi des nouvelles !!!!



francois.forcet
Le #6988091
Salut MichDenis

J'en apprend tous les jours !!!!

Sur l'ensemble des outils que j'ai pu concevoir je n'ai jamais eu de
déboir à ne pas déclarer
C'est trés certainement un tord de ma part mais avant de changer mes
habitudes j'aimerais comprendre la réelle utilité et surtout ne pas
tomber dans une nécessité de principe
A part une efficacité et rapidité dans l'exécution du code pour des
traitements lourds que gagne t'on à réaliser ce type de déclaration et
notament pour ces quelques lignes de code que j'utilise trés
fréquemment en l'état sans l'ombre d'une quelconque difficulté
Le but de m'a question n'étant pas de remettre en cause certaines
habitudes qui ont certainement leur fondemment mais d'évoluer au mieux
des nécessités de chacun et notamment des miennes
Etre efficace et justifié j'adhère pleinement
Etre puriste ce n'est pas ma philosophie

Merci pour ton aide dans cette esprit
Publicité
Poster une réponse
Anonyme