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

  • Initiateur de la discussion Initiateur de la discussion Lucho63
  • 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 !

L

Lucho63

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



Merci d'avance.
 

Pièces jointes

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

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

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

Bonjour,
Merci beaucoup pour votre réponse.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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