Bonjour,
Je souhaite supprimer le contenu des cellules de la colonne A si la cellule correspondante de la colonne B est "VRAI".
J'ai essayé ce code mais il ne fonctionne pas. Avez vous une idée pourquoi ?
Sub Macro()
For ligne = 1 To 20
If Cells(ligne, 2).Value = "VRAI" Then
Cells(ligne, 1).Value = ""
End If
Next ligne
If Cells(ligne,2) = True Then Cells(Ligne,1)= Empty
Ceci ne fonctionnera que si la cellule contient la valeur VRAI et non la chaîne de caractère "VRAI"
'Empty (vide) est préférable à "" qui est une chaine de caractère
Vous pouvez aussi faire Cells(ligne,1).ClearContents qui videra également le contenu de la cellule
Mais penses à déclarer tes variables pour éviter les problèmes
Autre solution
VB:
Option Compare Text
Sub Supprime()
Dim Derlig&, i&
Application.ScreenUpdating = False
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To Derlig
If Range("B" & i).Value = "VRAI" Then
Range("A" & i).ClearContents
End If
Next i
End Sub
If Cells(ligne,2) = True Then Cells(Ligne,1)= Empty
Ceci ne fonctionnera que si la cellule contient la valeur VRAI et non la chaîne de caractère "VRAI"
'Empty (vide) est préférable à "" qui est une chaine de caractère
Vous pouvez aussi faire Cells(ligne,1).ClearContents qui videra également le contenu de la cellule
Merci
et maintenant si je veux faire la même chose mais si la case de la colonne A est surligner en rouge (et non pas si la cellule correspondante de la colonne B est "VRAI").
Pourquoi cette ligne là ne fonctionne pas
If Cells(ligne, 1).Interior.Color = RGB(255, 0, 0) Then
Je dirais que sans doute votre cellule est "surlignée" par mise en forme conditionnelle et qu'à ce moment là Interrior.Color ne peut fonctionner. Essayez .DisplayFormat.Interior.Color = 255
Si mfc, il sans doute plus simple de tester la condition qui fait que la cellule devienne rouge
Mais sans classeur exemple, je n'irai pas plus loin
Je dirais que sans doute votre cellule est "surlignée" par mise en forme conditionnelle et qu'à ce moment là Interrior.Color ne peut fonctionner. Essayez .DisplayFormat.Interior.Color = 255
Si mfc, il sans doute plus simple de tester la condition qui fait que la cellule devienne rouge
Mais sans classeur exemple, je n'irai pas plus loin