Effacer contenu cellule selon valeur autre colonne

cheyenne63

XLDnaute Occasionnel
Bonjour
Par Vba, comment effacer les cellules des colonnes F, L et N sur les lignes dont la valeur en colonne C est égale à Non ?
Petite précision : Le nombre de lignes est variable
Merci d'avance et bon après-midi
 

vgendron

XLDnaute Barbatruc
Re : Effacer contenu cellule selon valeur autre colonne

bonjour

sans fichier exemple, sans garantie

Code:
sub efface()

nblignes=range("A65536").end(xlup).row
for i = 1 to nblignes
   if cells(i,"C")="Non" then
       cells(i,"F").clearcontents
       cells(i,"L").clearcontents
       cells(i,"N").clearcontents
  end if
next i

end sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Effacer contenu cellule selon valeur autre colonne

Bonjour Cheyenne, Vgendron, bonjour le forum,

Si ton tableau commence à la cellule A1 et qu'il ne contient ni colonne, ni ligne vide séparant les données, le code ci-dessous devrait convenir :

Code:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    If TV(I, 3) = "Non" Then 'condition : si la données ligne I, colonne 3 de TV est égale à "Non"
        TV(I, 6) = "" 'Vide la donnée ligne I, colonne 6 de TV
        TV(I, 12) = "" 'Vide la donnée ligne I, colonne 12 de TV
        TV(I, 14) = "" 'Vide la donnée ligne I, colonne 14 de TV
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
'renvoie  le tableau TV dans la cellule A1 redimensionnée
O.Range("A1").Resize(UBound(TV, 1), UBound(TV, 2)).Value = TV
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400