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 ?

1612803002337.png


Merci d'avance.
 

Pièces jointes

  • Essai0.xlsx
    8.8 KB · Affichages: 11

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

Discussions similaires

Réponses
26
Affichages
498

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal