Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

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

dabdg

XLDnaute Nouveau
Bonjour,

J'ai une feuille excel dans laquelle j'ai enormement de donnees, ca peut etre des chiffres ou du texte.
En fait je voudrais pouvoir effacer une cellule, quand il s'agit d'un chiffre superieur a 90.

J'ai commence a regarder du cote des macros.
J'arrive plus ou moins a le faire sur une colonne.

Voila mon code:
Code:
Sub macro1()
'
Application.ScreenUpdating = True
Sheets(1).Range("A1").Select

For x = 1 To ActiveSheet.UsedRange.Rows.Count
    If Range("A" & x).Text > "90" Then
        Range("A" & x).ClearContents
        
    End If
Next x

End Sub

Ca ne fonctionne pas sur toute la colonne a partir de la ligne 12 ca ne fonctionne plus.
Cela devrait etre dynamique car je suppose que ActiveSheet.UsedRange.Rows.Count devrait me renvoyer le nombre de ligne non vide.

Mon probleme est donc de mettre a jour cette macro pour qu'elle prenne en compte toute la feuille (et eventuellement m'expliquer le comportement etrange de ma macro actuellement).


Merci
 
Re : Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

Bonjour,

avec ce code:
Code:
Sub macro1()
Dim cellule As Range
Application.ScreenUpdating = False
Sheets(1).Range("A1").Select
For Each cellule In ActiveSheet.UsedRange
    If cellule > 90 Then cellule.ClearContents
Next cellule
Application.ScreenUpdating = True
End Sub

à+
Philippe
 
Re : Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

Re,
Si je comprends bien on passe a la colonne B via le Application.ScreenUpdating = True avant le End Sub ?

Application.ScreenUpdating = False ou True
sert uniquement à bloquer le rafraîchissement de l'écran pendant la procédure
,
ce qui permet de gagner du temps

à+
Philippe
 
Re : Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

Re,


For Each cellule In ActiveSheet.UsedRange
If cellule > 90 Then cellule.ClearContents
Next cellule


c'est ce qui fait que toutes les cellule sont passées en revue pour voir si leur valeur est supérieure à 90

à+
Philippe
 
Re : Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

Encore une petite question finalement, ca marche tres bien s'il n'y a que des chiffres dans la feuille, mais s'il y a des lettres ca me fonctionne pas, ca me dit que la class range a echoue.

Y-a-t-il un moyen de verifier le type de contenu de la cellule et de ne faire la verification que s'il s'agit d'un chiffre ?
 
Re : Macro - Effacer le contenu d'une cellule en fonction de sa valeur.

Bonjour,

avec ce code:
Code:
Sub macro1()
Dim cellule As Range
Application.ScreenUpdating = False
Sheets(1).Range("A1").Select
For Each cellule In ActiveSheet.UsedRange
    If cellule > 90 Then cellule.ClearContents
Next cellule
Application.ScreenUpdating = True
End Sub

à+
Philippe
bonjour,
je suis novice dans le domaine du vba

j'ai un peut pret le meme probleme
explication
la colonne P et Q ce sont des montant qui change

je voudrai faire une macro qui va se derouler comme suite:

quand le montant de la colonne P change ca efface le contenu de la cellule R et T
quand le montant de la colonne Q change ca efface le contenu de la cellule S et U

et ainsi de suit pour tout le rest du tableau car mon tableau se rempli tout les jour

merci de votre aide
 

Pièces jointes

  • 2022-10-08_09-02-35.png
    2022-10-08_09-02-35.png
    11 KB · Affichages: 8
- 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

Réponses
3
Affichages
193
Réponses
2
Affichages
153
Réponses
7
Affichages
163
Retour