Microsoft 365 Vérification de données

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 !

balardbalard

XLDnaute Nouveau
Bonjour,

Je souhaiterai vérifier que differentes données sont bien remplies avec des colonnes fixes mais des lignes qui peuvent varier; si ce n'est pas le cas on va dans la cellule manquante. J'ai commencé un bout de code mais je ne bloque et n'arrive pas à ce que je souhaiterai.

Merci de votre aide
 

Pièces jointes

Solution
Bonjour balardbalard, et bienvenu sur XLD,
En PJ un essai avec :
VB:
Sub Verif()

Dim Derl As Long
Derl = Range("A65500").End(xlUp).Row

For Each cell In Range("A2:A" & Derl)
If Not IsNumeric(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas un chiffre, ou vide?", , "": Exit Sub
Next

For Each cell In Range("B2:B" & Derl)
If Not Application.IsText(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas du texte, ou vide?", , "": Exit Sub
Next

For Each cell In Range("D2:D" & Derl)
If Not IsDate(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas une date, ou vide?", , "": Exit Sub
Next

End Sub

NB:
1- range("Aa" & Derl) Erreur de frappe, devrait être "A"
2- range("A" & Derl) désigne une cellule non une plage ...
Bonjour balardbalard, et bienvenu sur XLD,
En PJ un essai avec :
VB:
Sub Verif()

Dim Derl As Long
Derl = Range("A65500").End(xlUp).Row

For Each cell In Range("A2:A" & Derl)
If Not IsNumeric(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas un chiffre, ou vide?", , "": Exit Sub
Next

For Each cell In Range("B2:B" & Derl)
If Not Application.IsText(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas du texte, ou vide?", , "": Exit Sub
Next

For Each cell In Range("D2:D" & Derl)
If Not IsDate(cell) Or IsEmpty(cell) Then cell.Select: MsgBox "N'est pas une date, ou vide?", , "": Exit Sub
Next

End Sub

NB:
1- range("Aa" & Derl) Erreur de frappe, devrait être "A"
2- range("A" & Derl) désigne une cellule non une plage : Range("A2:A" & Derl) soit égal à Range("A2:A6")
3- with n'est pas utile car la cellule est nommée dan each cell
 

Pièces jointes

Re, bonjour Sousou,
Ou encore, avec des MFC, ce qui me semble quand même le plus simple :
VB:
Colonne A :   OU(ESTNUM(A2)=0;A2="")
Colonne B :   OU(ESTNONTEXTE(B2)=0;B2="")
Colonne D :   SI(ESTERREUR(DATEVAL(TEXTE(D2;"jj/mm/aa")));1;0)
L'avantage est que cela se fait en temps réel.
 

Pièces jointes

- 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

Réponses
4
Affichages
116
Réponses
14
Affichages
252
Réponses
4
Affichages
191
Réponses
3
Affichages
285
Retour