Vérifier le contenu d'une cellule

Fermé
Charly - 20 janv. 2014 à 19:35
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 21 janv. 2014 à 07:14
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

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 janv. 2014 à 19:46
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+
0
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.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 janv. 2014 à 20:23
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+
0
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 janv. 2014 à 20:45
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+
0
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).
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 janv. 2014 à 23:09
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+
0
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.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
21 janv. 2014 à 07:14
Tu peux joindre un fichier anonymisé, l'intérêt étant de disposer de la structure de la feuille et non pas des données.

Voici un exemple d'application de la macro que je t'ai donnée
https://www.cjoint.com/?DAvhnIgjgD8

A+
0