Bonjour je reviens vers vous car je suis bloqué dans ma macro, L'objectif de cette macro est de controler dans un onglet "feuil1" de la colonne Prix (AH) les prix saisies, et s'il ne respecte pas les consignes si dessous, alors indiquer en "feuil2" les numéros de celulle à problème en ligne 9.
Consigne à contrôler dans chacune des celulles :
- Si les celulles sont au format nombre "0.00"
- s'il ne contient pas des lettres du style 12.03 euro ou 12.03 € etc...
- s'il ne contient pas plus de deux decimales ex : 12.0333....
Ce que je n'arrive pas à exprimé c'est de contrôler dans chacune des celulles, regarder si la saisie du prix n'est pas plus de deux decimales ex : 12.0333....
Merci de votre aide svp
Consigne à contrôler dans chacune des celulles :
- Si les celulles sont au format nombre "0.00"
- s'il ne contient pas des lettres du style 12.03 euro ou 12.03 € etc...
- s'il ne contient pas plus de deux decimales ex : 12.0333....
Ce que je n'arrive pas à exprimé c'est de contrôler dans chacune des celulles, regarder si la saisie du prix n'est pas plus de deux decimales ex : 12.0333....
Merci de votre aide svp
Code:
Sub Prix()
For Each x In Sheets("Feuil1").Range("AH2:" & Sheets("Feuil1").Range("AH65536").End(xlUp).Address)
If x.NumberFormat <> "0.00" Then Sheets("Feuil2").Cells(9, 256).End(xlToLeft).Offset(0, 1) = x.Address(REF_ABS, REF_ABS)
If x.Value <> "*.##" Then Sheets("Feuil2").Cells(9, 256).End(xlToLeft).Offset(0, 1) = x.Address(REF_ABS, REF_ABS)
If Not IsNumeric(x.Value) Then Sheets("Feuil2").Cells(9, 256).End(xlToLeft).Offset(0, 1) = x.Address(REF_ABS, REF_ABS)
Next x
End Sub