Masquer les erreurs

t3tsuo

XLDnaute Nouveau
Bonjour a tous !

J'ai un petit problème par rapport a un de mes tableurs. En effet ce dernier est blinde de fonctions et du coup pour certaines données, il m'affiche des erreurs quand les données que je saisie sont inhabituelles.

Or ça pollue mon visuel ! :D:D

Je voulais donc savoir si vous connaissiez une macro me permettant de cacher toutes les cellules comportant une erreur de type : #VALUE! , #DIV/0! pour l'intégralité de mon classeur svp ?

J'ai trouve ça sur la toile :

On Error Resume Next
With Range("A1:V40")
.SpecialCells(xlCellTypeFormulas, xlErrors).Value = 0
.SpecialCells(xlCellTypeConstants, xlErrors).Value = 0
End With
On Error GoTo 0

Mais je n'arrive pas a l'adapter a un classeur :eek:

Si vous pouviez me suggérer une solution, je vous en serais reconnaissant !

Cordialement

T3

PS : Excel 2003 version US bombes latinos, chaines en or et gros flingues.
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer les erreurs

Bonjour t3

le code ci dessous fonctionne très bien chez moi (excel 2003), si les erreurs sont bien renvoyées par des formules ... s'applique à la feuille active...

Code:
On Error Resume Next
With Range("A1:V40")
    .SpecialCells(xlCellTypeFormulas, xlErrors).Value = 0
End With
On Error GoTo 0


bonne journée
@+
 

t3tsuo

XLDnaute Nouveau
Re : Masquer les erreurs

Bonjour Pierrot,

Merci pour ta réponse rapide,

Oui ce code fonctionne chez moi aussi, mais est il possible de faire une macro pour que tout mon classeur (10 feuilles environ) affiche les erreurs comme cellule vide ? Ou faut il que j'applique une macro spécifique a toutes les feuilles ?

Et qu'a chaque fois que je rajoute une ligne/feuille, cette macro s'applique ?

Cdt,

T3
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer les erreurs

Re

bour boucler sur tout ton classeur :

Code:
Option Explicit
Sub test()
Dim ws As Worksheet
On Error Resume Next
For Each ws In Worksheets
    With ws.Cells
        .SpecialCells(xlCellTypeFormulas, xlErrors).Value = 0
    End With
Next ws
End Sub

sinon pour applicquer ce code à chaque modification des cellules de ton classeur, il faut placer un code dans l'événement "Workbook_SheetChange" du module "thisworkbook"...

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

@+
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer les erreurs

Re

pour la procédure événementielle, il faudrait la coder peut être ainsi :

Code:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If IsError(Target) Then Target = 0
Application.EnableEvents = True
End Sub

@+
 

Statistiques des forums

Discussions
312 500
Messages
2 089 005
Membres
104 003
dernier inscrit
adyady__