[Résolu] Analyseur d'anomalie : indiquer l'anomalie et poursuivre sans ERREUR 13

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonjour Le Forum,
J'ai un petit souci avec une macrocommande (ci-après dans ce message) que je vous propose de rendre opérationnelle à 100 %.

Elle analyse 600 lignes environ.
Elle détecte bien une première anomalie mais ne la signale pas en message et préfère provoquer une erreur 13.

L'objectif est de signaler l'anomalie quand les cellules D14 à I14 de la feuille Comparatif affichent :
- #Valeur !
- ou n’affichent pas « Équilibré »
- ou quand leur valeur est différente de 0.

Par exemples :
D14 s’affiche « Équilibré » car la formule qui s'y trouve (D7-D11) donne bien 0,00 et avec l'affichage dans la cellule par "Équilibré"

E7-E11 = une erreur car une virgule est en effet détectée dans la cellule D7.
Je peux alors noter cette anomalie pour réaliiser ultérieurement la rectification de cette ligne dans la base.

Comment composer la macrocommande ci-dessous (placée aussi en image sur la feuille 1) pour que celle-ci :
- n’affiche pas une erreur 13
- indique qu’ici à la ligne 106 il y a une anomalie,
- puis qu’elle continue sa prospection sur le reste de l’analyse
- jusqu’à l’anomalie suivante à nouveau à signaler
- etc. avant de voir apparaître le MsgBox ("Analyse finie !").

Merci pour votre collaboration pour la rectification.
Le fichier très simplifié que je vous joins n'est qu'une représentation symbolique de ma problématique dans le fichier réel trop gourmand en octets pour être placé ici.

Bon dimanche à vous tous !
Webperegrino

VB:
[LEFT][/LEFT]Sub ANALYSE()
dl = Sheets("Comparatif").Range("Q5").End(xlDown).Row
For x = 7 To dl
Range("G1").Value = x
If Range("D14").Value = "#VALEUR!" Then
MsgBox ("Anomalie ESPECES!")
End If
If Range("E14").Value = "#VALEUR!" Then
MsgBox ("Anomalie CHEQUES BANCAIRES !")
End If
If Range("F14").Value = "#VALEUR!" Then
MsgBox ("Anomalie CHQ VAVANCE !")
End If
If Range("G14").Value = "#VALEUR!" Then
MsgBox ("Anomalie CHQ CULTURE !")
End If
If Range("H14").Value = "#VALEUR!" Then
MsgBox ("Anomalie  CARTES BANCAIRES!")
End If
If Range("I14").Value = "#VALEUR!" Then
MsgBox ("Anomalie TOTAL !")
End If
Next
MsgBox ("Analyse finie !")
Range("G1").Value = 7
End Sub
 

Pièces jointes

  • Analyseur d'anomalies.xls
    32 KB · Affichages: 56
Dernière édition:

Dull

XLDnaute Barbatruc
Re : Analyseur d'anomalie : indiquer l'anomalie par message et poursuivre sans ERREUR

Salut Webperegrino, le Forum

Pas ouvert ton fichier mais a la place de

Code:
If Range("D14").Value = "#VALEUR!" Then
MsgBox ("Anomalie ESPECES!")
End If

essaye

Code:
If IsError(Range("D14").Value) Then MsgBox ("Anomalie ESPECES!")

Bonne Journée
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Analyseur d'anomalie : indiquer l'anomalie par message et poursuivre sans ERREUR

Bonjour Le Forum,
Bonjour Dull,
Ta proposition de correction est en place.
J'ai aussi supprimé les End If
C'est excellent, c'est parfait, et en plus la macro est beaucoup plus courte !

Je vais passer un excellent dimanche grâce à toi : le Bonheur se construisant souvent avec des petites choses sur ce Forum !
Merci beaucoup pour ce message n° 3 713 !
Webperegrino
 

Discussions similaires

Réponses
3
Affichages
457

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec