Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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.
 

GALOUGALOU

XLDnaute Accro
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
 

DAVID-44-

XLDnaute Occasionnel
Bonsoir GALOUGALOU,
En effet, ce sont les colonnes "G" et "I" qui sont utilisées.
Merci de votre aide, mais ça ne marche pas !
Je ne comprends pas.
Je dois mal placer le code.
Bonne soirée.
 

GALOUGALOU

XLDnaute Accro
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

  • macro suppression.xlsm
    17.3 KB · Affichages: 14
Dernière édition:

DAVID-44-

XLDnaute Occasionnel
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.
 

GALOUGALOU

XLDnaute Accro
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

  • macro suppression.xlsm
    18.9 KB · Affichages: 10
Dernière édition:

Discussions similaires

Réponses
4
Affichages
220
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…