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

Bonjour,

Voici un code qui doit être exécuté dans la "feuil1":

Code:
Sub BleuManque()
Dim Colonne(), NumClient As Range, I As Long
Colonne = Array("C", "D", "E", "AB", "AC", "AH", "AI", "AW", "AX", "BA", "BB", "BC")
For Each NumClient In Range("A2", [A65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
  For I = LBound(Colonne) To UBound(Colonne)
    If Range(Colonne(I) & NumClient.Row).Value = "" Then _
    Sheets("Feuil2").Range("IV13").End(xlToLeft).Offset(0, 1).Value = Range(Colonne(I) & NumClient.Row).Address
  Next
Next

End Sub
 
Re : Macro controle données obligatoire

Merci SKOOBI,

J ai essayé d intégrer la macro dans la feuille 2, et je n arrive pas obtenir le résulat lorsque je lance la macro par le bouton Click.

merci d avance
 

Pièces jointes

Re : Macro controle données obligatoire

Voici l'adaptation en conséquence (en bleu les modifications/ajouts):

Code:
Sub Test2()
Dim Colonne(), NumClient As Range, I As Long
Colonne = Array("C", "D", "E", "AB", "AC", "AH", "AI", "AW", "AX", "BA", "BB", "BC")
[B][COLOR=Blue]With Sheets("Feuil1")[/COLOR][/B]
  For Each NumClient In [SIZE=6][B][COLOR=Blue].[/COLOR][/B][/SIZE]Range("A2", [SIZE=6][B][COLOR=Blue].[/COLOR][/B][/SIZE][A65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
    For I = LBound(Colonne) To UBound(Colonne)
      If [SIZE=6][B][COLOR=Blue].[/COLOR][/B][/SIZE]Range(Colonne(I) & NumClient.Row).Value = "" Then _
      Sheets("Feuil2").Range("IV13").End(xlToLeft).Offset(0, 1).Value = [SIZE=6][B][COLOR=Blue].[/COLOR][/B][/SIZE]Range(Colonne(I) & NumClient.Row).Address
    Next
  Next
[COLOR=Blue][B]End With[/B][/COLOR]
End Sub
 
Dernière édition:
Re : Macro controle données obligatoire

Re-bonjour,

Oui j ai bien fait le copier coller avec les points.

Je n'obtiens pas le résultat lorsque les cellule obligatoire sont rempli par ex

Regarde ce ke j obtiens

merci

Cordialement
 

Pièces jointes

Dernière édition:
Re : Macro controle données obligatoire

Re,

Arrff, c'est tout simplement parce que la liste n'est pas vidée au préalable non?

Voici l'ajout:
Code:
Sub Test2()
[B][COLOR=blue]Sheets("Feuil2").Range("B13:IV13").Clear[/COLOR][/B]
Dim Colonne(), NumClient As Range, I As Long
Colonne = Array("C", "D", "E", "AB", "AC", "AH", "AI", "AW", "AX", "BA", "BB", "BC")
With Sheets("Feuil1")
For Each NumClient In .Range("A2", .[A65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
For I = LBound(Colonne) To UBound(Colonne)
If .Range(Colonne(I) & NumClient.Row).Value = "" Then _
Sheets("Feuil2").Range("IV13").End(xlToLeft).Offset(0, 1).Value = .Range(Colonne(I) & NumClient.Row).Address
Next
Next
End With
End Sub
 
Re : Macro controle données obligatoire

Merci bcp skoobi, tu es vraiment balaise chapeau.

J'essaye de rajouter cela aux autres (contrôle) macros, Comment retranscrire en Macro qui verifie si :

- La colonne Prix (AH) doit etre renseigne en ce format par exemple : 1.11 (Deux chiffres apres le point) ou 1.1 (Un chiffre apres le point pour les arrondis) => si format different par exemple 1,111 ou 1.111 (contient virgule ou plus de 2 decimale) ou 1,11€ (contient lettres Euro ou Eur ou ....) alors inscrire "Numéro célulle" dans l' onglet feuil2 (Prix incohérent)

Merci d avance

cdt
 

Pièces jointes

Re : Macro controle données obligatoire

Voici:

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" Or Not IsNumeric(Prix.Value) Then _
         Sheets("Feuil2").Range("IV14").End(xlToLeft).Offset(0, 1).Value = Prix.Address
    Next
  End With
End Sub
 
Re : Macro controle données obligatoire

Merci Skoobi,

J'ai un probleme, la macro se lance bien, mais quand les prix sont rentré, il me dit que toute les cellules des prix sont incorrects

Voici ce ke j obtiens

Merci bcp
 

Pièces jointes

Re : Macro controle données obligatoire

Merci pour cette précision Skoobi, mais peut on avoir ce résultat sans ke l'on ai obligatoirement le format nombre, par ex standard, ou autre??

De plus, si le prix est au format 0,00 la macro voit cela correct alors que le format 0.00 est incohérent. Ça devrait être l'inverse normalement

Je comprends pas


Merci
 
Dernière édition:
Re : Macro controle données obligatoire

Re,

De plus, si le prix est au format 0,00 la macro voit cela correct alors que le format 0.00 est incohérent. Ça devrait être l'inverse normalement
Vérifie que le séparateur décimal dans excel est bien le point.

mais peut on avoir ce résultat sans ke l'on ai obligatoirement le format nombre, par ex standard, ou autre??
J'espère que cette fois-ci ça convient:
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 [B][COLOR=Blue]Not Prix.Value Like "#,##" And Not Prix.Value Like "#,#" _
      And Not Prix.Value Like "##,##" And Not Prix.Value Like "##,#" _[/COLOR][/B]
      Or TypeName(Prix.Value) = "String" Then _
         Sheets("Feuil2").Range("IV14").End(xlToLeft).Offset(0, 1).Value = Prix.Address
    Next
  End With
End Sub
Ce que j'ai mis en bleu permet de vérifier que la saisie n'est pas un chiffre du genre:

0.0
0.00
00.0
00.00
Dans le code, le séparateur décimal est toujours la virgule.
En résumé, 2 nombres maxi avant et après la virgule. Si tu as des centaines, il faut les ajouter.

Edit: correction apporté au code.
 
Dernière édition:
- 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