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
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
Dernière édition: