J'ai une macro qui fais des tas de calcul dans une feuille. Bien sur
lorsqu'elle tombe sur une division par zero elle inscrit dans la cellule
#DIV/0. Y-a-t-il un moyen pour qu'elle laisse la cellule vide quand elle
tombe sur une division par zero.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour,
Comme dernière ligne de code de ta macro existante, tu appelles celle-ci qui a pour fonction d'éliminer le contenu de toutes les cellules affichant l'erreur "#DIV/0!"
pour appeler cette procédure, tu ajoutes à ta macro : Call Elimine_Divo(Worksheets("Feuil1"))
Ou de cette manière : Call Elimine_Divo(Feuil1) Feuil1 -> Nom de la propriété "Name" de l'objet feuille visible dans la fenêtre de l'éditeur de code.
'------------------------------------- Sub Elimine_Divo(Sh As Worksheet) Dim C As Range On Error Resume Next With Sh For Each C In .UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors) If C.Value = CVErr(xlErrDiv0) Then C.Value = "" 'If C.Text = "#DIV/0!" Then C.Value = "" Next End With End Sub '-------------------------------------
"Eric" a écrit dans le message de groupe de discussion : 4bbe1151$0$16953$ Bonjour,
J'ai une macro qui fais des tas de calcul dans une feuille. Bien sur lorsqu'elle tombe sur une division par zero elle inscrit dans la cellule #DIV/0. Y-a-t-il un moyen pour qu'elle laisse la cellule vide quand elle tombe sur une division par zero.
Merci pour votre aide
PS : Je travaille avec excel 2007
Bonjour,
Comme dernière ligne de code de ta macro existante,
tu appelles celle-ci qui a pour fonction d'éliminer le
contenu de toutes les cellules affichant l'erreur "#DIV/0!"
pour appeler cette procédure, tu ajoutes à ta macro :
Call Elimine_Divo(Worksheets("Feuil1"))
Ou de cette manière :
Call Elimine_Divo(Feuil1)
Feuil1 -> Nom de la propriété "Name" de l'objet feuille visible
dans la fenêtre de l'éditeur de code.
'-------------------------------------
Sub Elimine_Divo(Sh As Worksheet)
Dim C As Range
On Error Resume Next
With Sh
For Each C In .UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors)
If C.Value = CVErr(xlErrDiv0) Then C.Value = ""
'If C.Text = "#DIV/0!" Then C.Value = ""
Next
End With
End Sub
'-------------------------------------
"Eric" <eric.saulodes@free.fr> a écrit dans le message de groupe de discussion :
4bbe1151$0$16953$426a34cc@news.free.fr...
Bonjour,
J'ai une macro qui fais des tas de calcul dans une feuille. Bien sur
lorsqu'elle tombe sur une division par zero elle inscrit dans la cellule
#DIV/0. Y-a-t-il un moyen pour qu'elle laisse la cellule vide quand elle
tombe sur une division par zero.
Comme dernière ligne de code de ta macro existante, tu appelles celle-ci qui a pour fonction d'éliminer le contenu de toutes les cellules affichant l'erreur "#DIV/0!"
pour appeler cette procédure, tu ajoutes à ta macro : Call Elimine_Divo(Worksheets("Feuil1"))
Ou de cette manière : Call Elimine_Divo(Feuil1) Feuil1 -> Nom de la propriété "Name" de l'objet feuille visible dans la fenêtre de l'éditeur de code.
'------------------------------------- Sub Elimine_Divo(Sh As Worksheet) Dim C As Range On Error Resume Next With Sh For Each C In .UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors) If C.Value = CVErr(xlErrDiv0) Then C.Value = "" 'If C.Text = "#DIV/0!" Then C.Value = "" Next End With End Sub '-------------------------------------
"Eric" a écrit dans le message de groupe de discussion : 4bbe1151$0$16953$ Bonjour,
J'ai une macro qui fais des tas de calcul dans une feuille. Bien sur lorsqu'elle tombe sur une division par zero elle inscrit dans la cellule #DIV/0. Y-a-t-il un moyen pour qu'elle laisse la cellule vide quand elle tombe sur une division par zero.