Macro controle données obligatoire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roidurif

XLDnaute Occasionnel
Bonjour a tous

Comment retranscrire en Macro qui verifie si :

- Si numéro de client renseigné en A , Alors les colonne C,D,E, AB,AC, AH,AI... en bleu doivent etre rempli => si vide inscrire "Numéro célulle" dans l' onglet feuil2 (Donnée Obligatoire Bleu Manquante)


merci bcp
 

Pièces jointes

Re : Macro controle données obligatoire

Je me suis aperçu d'un cas qui n'était pas pris en compte, quand le format est monétaire (ajout en bleu)
Tu ne l'a pas remarqué?

Là je pense enfin que tout les cas possibles sont traités:

Code:
Sub CtrlPrix()
  Dim Prix As Range
  Sheets("Feuil2").Range("B14:IV14").Clear
  With Sheets("Feuil1")
    For Each Prix In .Range("AH2", .[AH65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
      If Prix.NumberFormat <> "0.0" And Prix.NumberFormat <> "0.00" _
      And Not Prix.Value Like "#,##" And Not Prix.Value Like "#,#" _
      And Not Prix.Value Like "##,##" And Not Prix.Value Like "##,#" _
      Or TypeName(Prix.Value) = "String"[B][COLOR=Blue] Or Not Prix.Text Like "*#"[/COLOR][/B] Then _
         Sheets("Feuil2").Range("IV14").End(xlToLeft).Offset(0, 1).Value = Prix.Address
    Next
  End With
End Sub

Pour répondre à ta question, le code fonctionne quel que soit le séparateur décimal choisie, "." ou "," (j'ai testé).
 
Re : Macro controle données obligatoire

re-bonjour Skoobi,

Merci de ta remarque, seulement les prix à 3 chiffres apres la virgule c'est considéré comme BON alors que ca devrais etre MAUVAIS.

Sinon les séparateur points ne les reconnais pas encore
10.55 ou 1.1 Incorect

Merci d avance

Cordialement
 
Re : Macro controle données obligatoire

Re bonjour,

Je viens de découvrir quelque chose ("et oui, on en apprend tous les jours" 😉).
Le symbole de décimal choisi dans le code:
Like "#.##"
doit correspondre à celui de Windows et non Excel (voilà pourquoi cela marche quel que soit l'option choisi dans excel).
Donc tu dois adapter ce caractère (dans le code) en fonction de celui se trouvant dans Windows.
Ca solutionne les problèmes.
 
Re : Macro controle données obligatoire

Si je change l'option separateur décimal dans excel via cette macro ci dessous.

Je le rajoute avant la macro ctrlprix, keske tu en penses??

Je sais si c bon?? Merci

Sub Separateur_point()
With Application
.DecimalSeparator = "."
.UseSystemSeparators = False
End With
Next
CtrlPrix
End Sub
 
Re : Macro controle données obligatoire

Je te suggere de le mettre à l'ouverture du fichier:

Private Sub Workbook_Open()
With Application
.DecimalSeparator = "."
.UseSystemSeparators = False
End With
End Sub

Mais comme je le dis plus haut, vérifie bien que le séparateur de décimal dans les options linguistiques de windows est le même que celui écrit dans le code.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
20
Affichages
3 K
massol
M
E
  • Question Question
Réponses
3
Affichages
995
eric Hucher
E
Réponses
6
Affichages
3 K
E
Réponses
3
Affichages
2 K
Emmanuel_3005
E
E
Réponses
5
Affichages
2 K
Estelleb
E
Retour