Effacement conditionnelle d'une cellule

  • Initiateur de la discussion Initiateur de la discussion geckotokai
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

geckotokai

Guest
Excel 2003
VBA 6.3

Bonjour, je suis en train de faire une macro sous excel et j'ai deux soucis donc je vais en exposer un dans ce post et l'autre dans un autre post.
J'ai recherché longuement sur le net et les archives mais je n'ai pas trouvé la solution.

Donc voilà, j'ai des données numériques de A1 à C50, certaines des cellules contiennent la valeur 0. Je souhaiterais savoir quel code utiliser pour effacer le contenu des cellules lorsque celles-ci contiennent la valeur "0" (vraiment effacer, pas de la manière mettre la police en blanc).

Merci beaucoup de votre aide et pensez à regarder mon second post 😉.
 
Re : Effacement conditionnelle d'une cellule

Bonjour
Code:
sub test_i()
For each cell in Range("A1:C50")
If cell=0 then
cell.clearcontents
end if
Next
end sub
Un petite question
Pourquoi cela bug ainsi ?
Code:
[COLOR=SlateGray]Sub test()
Dim cell As Range
For Each cell In Range("a1:c50")
cell.Value = IIf(cell.Value = 0, cell.ClearContents, cell.Value)
Next
End Sub[/COLOR]
EDITION : merci pierrejean
Code:
Sub test_ii()' (test ok)
Dim cell As Range
For Each cell In Range("a1:c50")
cell.Value = _
IIf(cell.Value = 0, vbNullString, cell.Value)
Next
End Sub
 
Dernière édition:
Re : Effacement conditionnelle d'une cellule

Merci beaucoup de vos réponses rapides et précises. Le code de pierrejean fonctionne parfaitement. Je me présenterai bientôt dans la bonne section.

Ce site m'a déjà beaucoup et semble une vraie mine d'or.
Encore merci.
 
Dernière modification par un modérateur:
Re : Effacement conditionnelle d'une cellule

Re

Parceque cell.clearcontents est une action et non une valeur

Teste plutot:

Code:
Sub test()
Dim cell As Range
For Each cell In Range("a1:c50")
cell.Value = IIf(cell.Value = 0,[COLOR=blue] ""[/COLOR][COLOR=black],[/COLOR] cell.Value)
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
6
Affichages
1 K
M
Réponses
4
Affichages
975
mimich_88
M
D
  • Question Question
Réponses
3
Affichages
5 K
Retour