XL 2010 Effacer le contenu d'une cellule, si une autre cellule à une valeur de 0 ou est vide.

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 !

DAVID-44-

XLDnaute Occasionnel
Bonjour à tous,
J'aimerais effacer le contenu d'une cellule (I23), si une autre cellule (G23) à une valeur de 0 ou est vide.
J'ai essayé avec la mise en forme conditionnelle en prenant des exemples sur les sites, mais ça ne fonctionne pas !
Merci de votre aide.
Bonne soirée à tous.
David.
 
bonjour david-44-
je suppose que votre demande concerne la colonne complète et que la cellule i23 pourrait être i26 ou i28 etc
le code vba ci-dessous à placer dans un module, supprimera toutes les valeurs (à partir de la ligne 5, à vous d'adapter) de la colonne G sur la même ligne que les cellules vides de la colonne I dans la feuille active.
VB:
Sub suppression()
With ActiveSheet
 li = .Cells(36000, 3).End(xlUp).Row
For i = 5 To li
If .Cells(i, 7) = "" Then
.Cells(i, 9) = ""
End If
Next
End With
MsgBox ("Modifications effectuées")
End Sub
cordialement
galougalou
 
re
il faut poser la macro dans un module, pour cela ouvrir l'éditeur vba avec alt+F11
j'ai oublié de préciser, dans la macro, c'est la colonne c qui est testée pour trouver la dernière ligne
.Cells(36000, 3).
modifiez le 3 par une colonne adaptée à votre classeur

voir le classeur exemple
cdt
 

Pièces jointes

Dernière édition:
Re,
Merci ça fonctionne !
Est-il possible de rajouter la suppression si dans la cellule "G" il y a un "0", et de ne pas avoir un bouton pour faire fonctionner le code (simplement en effaçant les chiffres ou en mettant "0" dans la cellule "G" ?
Merci de votre aide.
Bonne soirée.
 
re
VB:
Sub suppression()
With ActiveSheet
 li = .Cells(36000, 3).End(xlUp).Row
For i = 5 To li
If .Cells(i, 7) = "" Or .Cells(i, 7) = "0" Then
.Cells(i, 9) = ""
End If
Next
End With
End Sub

et dans l'évènement feuille ( voir le classeur exemple)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Range("G5:G1000"), Target) Is Nothing Then
Call suppression
End If
End Sub

et bien sur adaptez g5:g1000
cdt
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Retour