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

Microsoft 365 Comment supprimer le contenu d'un cellule automatiquement

Lucho63

XLDnaute Nouveau
Bonsoir à tous,
Je souhaite supprimer les cellules oranges ci-dessous, vous avez une solution automatique ?



Merci d'avance.
 

Pièces jointes

  • Essai0.xlsx
    8.8 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Lucho,
Un essai en PJ avec :
VB:
Sub Efface()
For Each cell In Range("A1").CurrentRegion
    If cell.Interior.Color = RGB(255, 192, 0) Then
        cell.Value = ""
        cell.Interior.Color = xlColorIndexNone
    End If
Next
End Sub
 

Pièces jointes

  • Essai0.xlsm
    15.8 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonsoir Lucho63,

Plusieurs questions :

- supprimer ou effacer ?

- si supprimer, décaler vers la gauche ou vers le haut ?

- si effacer, faut-il effacer aussi la couleur orange ou la remplacer par du jaune ?

- quel critère avez-vous utilisé pour colorer en orange ? Valeur Inférieure à 1 ?

A+
 

Lucho63

XLDnaute Nouveau
Bonsoir Job75,
Merci pour ton attention.
Au mieux, supprimer et décaler vers la gauche, mais supprimer me suffira.
Pour la sélection, je veux supprimer toutes les valeurs égal à 0 et à droite d'un 0.
 

Lucho63

XLDnaute Nouveau
Merci, de ta réponse, mais normalement mon tableau ne comporte pas de couleur, je veux supprimer toutes les données contenant un 0 et celles à droite d'un zéro.
 

job75

XLDnaute Barbatruc
J'ai besoin que les cellules se décalent vers la gauche
Alors utilisez cette macro :
VB:
Sub Supprimer()
Dim ncol%, i&, j%, x
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    ncol = .Columns.Count
    For i = 1 To .Rows.Count
        For j = ncol To 1 Step -1
            x = .Cells(i, j)
            If IsNumeric(CStr(x)) Then If x < 1 Then .Cells(i, j).Delete xlToLeft
    Next j, i
End With
End Sub
 

Pièces jointes

  • Essai(1).xlsm
    16.6 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour à tous,

Au cas où il y aurait des cellules fusionnées il suffit d'ajouter .MergeArea :
VB:
Sub Supprimer()
Dim ncol%, i&, j%, x
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    ncol = .Columns.Count
    For i = 1 To .Rows.Count
        For j = ncol To 1 Step -1
            x = .Cells(i, j)
            If IsNumeric(CStr(x)) Then If x < 1 Then .Cells(i, j).MergeArea.Delete xlToLeft
    Next j, i
End With
End Sub
A+
 

Pièces jointes

  • Essai(2).xlsm
    16.8 KB · Affichages: 2

Lucho63

XLDnaute Nouveau
Bonjour,
Merci beaucoup pour votre réponse.
 

Discussions similaires

Réponses
26
Affichages
544
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…