Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

colorer cellule en VBA

49 réponses
Avatar
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

10 réponses

1 2 3 4 5
Avatar
Jacky
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




Avatar
francois.forcet
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 !!!!
Avatar
Pascal
ah que c'est beau la culture!
merci à vous deux pour vos solutions
Pascal

a écrit dans le message de news:

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 !!!!
Avatar
Pascal
Re,
dans les 2 cas de figure, je dois déclarer C
dim c as ??? range?
Pascal
a écrit dans le message de news:

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 !!!!
Avatar
MichDenis
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
Avatar
francois.forcet
Rebonjours Pascal

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

Fais des essais et dis moi !!!!
Avatar
MichDenis
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



a écrit dans le message de news:

Rebonjours Pascal

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

Fais des essais et dis moi !!!!
Avatar
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
a écrit dans le message de news:

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 !!!!



Avatar
MichDenis
| 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" a écrit dans le message de news:
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
a écrit dans le message de news:

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 !!!!



Avatar
francois.forcet
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
1 2 3 4 5