Controle via un format imposé

  • Initiateur de la discussion Initiateur de la discussion abc
  • Date de début Date de début

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 !

abc

XLDnaute Impliqué
Bonsoir,
Je désire contrôler si le format personnaliser de la cellule conprend bien 10 chiffres.
Je sais le faire pour une cellule,mais j'aimerais l'appliquer a une colonne bien précise.Dans l'exemple ci joint ,je choisis la colonne A.
Merci d'avance.
 

Pièces jointes

Re : Controle via un format imposé

Bonsoir abc,

Testes la macro suivante

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim r
 Dim c As Byte
 c = 1 'Colonne à contrôler (ici la colonne A)
 n = Cells(65536, c).End(3).Row  '(Sélectionne la dernière cellule utilisée de la colonne à contrôler)

 For r = 1 To n
 If Not IsNumeric(Cells(r, c)) Then
        MsgBox "10 CHIFFRES" & Chr(10) & "RECOMMENCER"
 Else
    If Len(Cells(r, c)) <> 10 Then
        MsgBox "10 CHIFFRES" & Chr(10) & "RECOMMENCER"
        Exit Sub
    End If
 End If
 Next r
End Sub
Je vérifie d'abord si la saisie est numérique et, si c'est le cas, si la saisie comporte bien 10 chiffres.
Je l'ai positionné dans la macro évènementielle Worksheet_SelectionChange plutôt que Worksheet_Change (contrôle à chaque saisie plutôt qu'à chaque changement de feuille)
Bonne soirée

Kotov
 
Dernière édition:
Re : Controle via un format imposé

Bonsoir,
merci pour vos réponses.
Spitnolan08, oui, pourquoi se compliquer la vie, je l'avais oublié ce truc la.
Kotov, ta proposition fonctionne mais elle m'affiche chaque fois le MSGBOX.
J'aimerais avoir le message du style recommecer et tant que la saisie est incorrecte ,je ne sais pas quitter la cellule avec l'erreur.
A +
 
Re : Controle via un format imposé

Bonsoir,
je relance le sujet,la proposition de Kotov réponds partiellement a ma demande.
Je peux sortir de la cellule avec une erreur.
Je cherche,peut être a tors ,du sytle
If no target
Msgbox "Erreur recommencer"
et tant que le format n'est pas correct recommencer
Merci d'avance.
A +
 
Re : Controle via un format imposé

Bonsoir ABC,

J'avais réalisé ma proposition à partir de ta macro d'origine qui affichait une msgbox à chaque erreur trouvée.

Maintenant, si outre l'alerte signalant une saisie erronée, tu souhaites corriger les cellules non conformes, je te propose la macro suivante :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim r
     Dim c As Byte
     Dim S As Variant
     c = 1 'Colonne à contrôler (ici la colonne A)
     n = Cells(65536, c).End(3).Row  '(Sélectionne la dernière cellule utilisée de la colonne à contrôler)

     For r = 1 To n
     If Not IsNumeric(Cells(r, c)) Then
G1:
          S = InputBox("Cellule : " & Cells(r, c).Address & vbCrLf & "Veuillez saisir un nombre à  10 chiffres", "Saisie non conforme..")
           If Len(S) <> 10 Then
             GoTo G1
           Else
                If Not IsNumeric(Left(S, 5)) Then GoTo G1
                If Not IsNumeric(Right(S, 5)) Then GoTo G1
           End If
            Cells(r, c) = CSng(S)
     Else
         If Len(Cells(r, c)) <> 10 Then
               GoTo G1
         End If
     End If
     Next r
End Sub

Pour info, c'est une impasse que de chercher du côté de : If no target Msgbox "Erreur recommencer"
Bonne soirée
Kotov
 
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

Réponses
3
Affichages
326
Réponses
12
Affichages
373
Réponses
10
Affichages
379
Retour