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