Microsoft 365 modifier une cellule à l'aide d'un macro

aqz

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

End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Essayez :
VB:
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

cordialement
 

Phil69970

XLDnaute Barbatruc
Bonjour @aqz ,@Hasco

Tu rajoutes en début de ta macro

Option Compare Text

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

*Merci de ton retour

@Phil69970
 

aqz

XLDnaute Nouveau
Bonjour,

Essayez :
VB:
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

cordialement
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
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

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

Bon trifouillage
 

aqz

XLDnaute Nouveau
Re,

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

Bon trifouillage
exactement merci
 

Statistiques des forums

Discussions
312 927
Messages
2 093 674
Membres
105 781
dernier inscrit
Dominique G.