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

XL 2016 Suppression contenu d'une plage de cellules en fonction de leur valeur

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

achaime

XLDnaute Nouveau
Bonjour.
J'ai une question sur la manière de procéder pour sélectionner une plage, de B5 à BD19 comme dans le fichier joint, et lancer une macro d'effacement de leur contenu seulement si au moins une de ces cellules contient une autre valeur que 1.
Et si c'est possible, qu'au lancement de la procédure, si toutes les cellules ne contiennent que la valeur 1, qu'un message indique qu'il n'y a rien à supprimer et sortir alors de la procédure.

Merci pour votre aide.

Je cherche depuis des jours et j'ai essayé des tas de choses et je coince.
 

Pièces jointes

Bonjour achaime (sur XLD) et marcache (sur XLP)🙂,

Il est malvenu de poster la même question sur différents forum.

Lire le point suivant de la charte de XLD:

et aussi ce point de la charte de XLP:
😉
 
VB:
Option Explicit

Sub EffacerSiPas1()
Dim rng As Range
Dim Cel
Set rng = Range("B5").CurrentRegion
For Each Cel In rng
    If Not IsNumeric(Cel.Value) Then
        Stop
        Cel.EntireRow.ClearContents
    End If
Next
End Sub
 ' attention s'il y a des autres datas sur la droite du tableau  !!!

Edit: pas vu pour la question sur autre forum 🙁
 
Dernière édition:
Bonjour,


Proposition pour ce qui est demandé :
VB:
Sub test_1()
Dim MaPlage As Range, NbCel As Long
    Set MaPlage = Range("B5:BD19")
    NbCel = Application.CountIf(MaPlage, "<>1")
    If NbCel = 0 Then
        MsgBox "Il n'y a rien à supprimer !"
    Else
        MaPlage.ClearContents
    End If
End Sub

Proposition pour ce qui est peut-être désiré vu le nom du fichier fourni "EFFACEMENT SI VALEUR AUTRE QUE 1" :
VB:
Sub test_2()
Dim MaPlage As Range, Cel As Range, NbCel As Long
    Set MaPlage = Range("B5:BD19")
    NbCel = Application.CountIf(MaPlage, "<>1")
    If NbCel = 0 Then
        MsgBox "Il n'y a rien à supprimer !"
    Else
        For Each Cel In MaPlage
            If Cel <> 1 Then Cel.ClearContents
        Next Cel
    End If
End Sub
 

Pièces jointes

Dernière édition:
- 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…