Vérifier le contenu d'une cellule

Bonjour,

Je voudrais vérifier via une macro si une plage de cellule contient la valeur 1 et si oui, supprimer la cellule qui contient la valeur.

Merci d'avance.

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Si tu supprimes une cellule dans une plage, tu dois Indiquer comment décaler les cellules afin de remplacer celles qui sont supprimées (décalage vers la gauche ou vers le haut).

    A+
    1. En faite je me suis mal exprimée.
      Ce que je voudrais c'est supprimer le contenu de toutes les cellules qui contiennent un 1.
      1. Un exemple avec la plage D5:G14 de la feuille "Feuil1"

        Sub Test()
        Dim MaPlage As Range, Cel As Range
        Application.ScreenUpdating = False
        Set MaPlage = Thisworkbook.worksheets("Feuil1").Range("D5:G14")
        For Each Cel In MaPlage
        If Cel.Value = 1 Then Cel.ClearContents
        Next Cel
        Set MaPlage = Nothing
        End Sub

        A+
        1. La ligne "Set..." ne fonctionne pas.
          Je débute dans les macros car j'ai besoin de quelque chose de précis.
          Je ne sais pas comment y arriver...
          1. Sinon, j'ai trouvé ça sur le net :

            For Each Cell In Range("MaPlageNommée")
            If Cell.Value = TaValeur Then MsgBox Cell.Address

            Je ne sais pas si ça peut m'aider car il faudrait que je change le Then MsgBox Cell.Address en quelque chose qui dise de supprimer le contenu de cette cellule.
            1. Il faudrait que tu indiques précisément ce que tu souhaites faire.
              Quelle est la feuille concernée ?
              Quelle est la plage de cellules concernée ?

              Tu peux joindre un exemple via https://www.cjoint.com/

              A+
              1. La feuille concernée est la feuille 5 et ma plage D6:O8.
                Cette plage contient des formules. Je voudrais que, lorsque le résultat de cette formule est égal à 1, le contenu soit supprimé (donc plus de formule ni de valeur à l'intérieur).
                1. Tu me dis que l'erreur se produit sur la ligne
                  Set MaPlage = Thisworkbook.worksheets("Feuil1").Range("D5:G14")

                  A priori, le seul élément qui peut engendrer une erreur est le nom de la feuille
                  Malheureusement, tu ne donnes ni le nom de la feuille, ni un fichier sur lequel s'appuyer.
                  Essaie avec une instruction qui ressemble à cela
                  Set MaPlage = Thisworkbook.worksheets("Feuil5").Range("D6:O8")

                  A+
                  1. Le soucis c'est que je suis en stage et que je n'ai pas le droit de partager le document en question.
                    Pour la ligne qui ne fonctionne pas, c'est exactement ce que j'ai fait mais ça ne marche pas...
                    Je travail sous excel 2007.