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

Effacer contenu cellule selon valeur autre colonne

  • Initiateur de la discussion Initiateur de la discussion cheyenne63
  • Date de début Date de début

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 !

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…