Microsoft 365 effacer le contenu de certaines cellules sous condition

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 !

Cassolette

XLDnaute Nouveau
Bonjour,
je souhaiterais effacer les cellules D, E, F, de toutes les lignes pour lesquelles la valeur de la cellule B est "pas démarré".
Mon classeur comportera plusieurs feuilles du même modèle.
par avance.
Cassolette
 
Bonjour à tous ,
c'est vrai que sans exemple précis,
la réponse ne peut être que généraliste :
VB:
    Dim Rangée As Range
    For Each Rangée In [2:3].Rows ' <-- les lignes concernée
        If Rangée.Columns("B") = "pas démarré" Then Rangée.Columns("D:F").ClearContents
    Next
 
Bonjour Cassolette, Hasco, fanch55,

Pas besoin de fichier, cette macro fonctionne dans tous les cas de figure (formules ou pas) :
VB:
Sub Effacer_DEF()
Dim w As Worksheet, tablo, ref, i&
For Each w In Worksheets
    With w.Range("A1", w.UsedRange).Resize(, 6)
        tablo = .Formula 'matrice, plus rapide
        ref = .Columns(2).Resize(, 2) 'au moins 2 éléments
        For i = 1 To UBound(tablo)
            If LCase(CStr(ref(i, 1))) = "pas démarré" Then _
                tablo(i, 4) = "": tablo(i, 5) = "": tablo(i, 6) = ""
        Next i
        .Formula = tablo 'restitution
    End With
Next w
End Sub
Utilisant des tableaux VBA elle est très rapide.

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

Retour