Partage
  • Partager sur Facebook
  • Partager sur Twitter

excel: verifier le si une cellule respecte bien un format

Sujet résolu
    6 mars 2012 à 10:19:05

    Bonjour à tous ! :ange:

    Je cherche à vérifier le bon format d'une cellule je m'expliques:

    La cellule devrait ressembler a ça : Lettre = L , Chiffre = C


    Cellule = LLLC-LCCCCC

    En gros je veux tester si il y a bien 3 lettre et un chiffre en début de cellule, juste apres vérifier qu'il y a bien un tiret, puis une lettre obligatoire et 5 chiffres juste apres. Je précise que je veux pas pour le moment verifier le contenu de ces lettres ou chiffres. Quoique ^^.

    Je ne sais pas si j'ai été assez claire? Je suis un novice en macro ou formule excel.

    Merci d'avance pour ceux qui traineront sur mon post =)
    • Partager sur Facebook
    • Partager sur Twitter
      6 mars 2012 à 11:50:41

      Salut.

      Je te propose une méthode bien bourrine qui vérifie la cellule B17 dans mon exemple. Macro exécutée sous Excel 2003.

      Sub Verif()
      
          Range("b17").Select
          ' ### recuperation des valeurs en portions du style ABC7-X74815
          caracteres1to3 = Mid(ActiveCell.Value, 1, 3) 'doivent etre des lettres
          caractere4 = Mid(ActiveCell.Value, 4, 1) 'doit etre un chiffre
          caractere5 = Mid(ActiveCell.Value, 5, 1) 'doit etre un tiret
          caractere6 = Mid(ActiveCell.Value, 6, 1) 'doit etre une lettre
          caracteres7to11 = Mid(ActiveCell.Value, 7, 5) 'doivent etre des chiffres
          
          If (Not IsNumeric(caracteres1to3)) _
              And IsNumeric(caractere4) _
              And caractere5 = "-" _
              And (Not IsNumeric(caractere6)) _
              And IsNumeric(caracteres7to11) _
              And Len(ActiveCell.Value) <= 11 Then
              
              MsgBox "Format conforme"
          Else
              MsgBox "Format non conforme"
          End If
      
      End Sub
      
      La condition vérifie que les 3 premiers caractères soient des lettres, que le 4ème caractère soit un chiffre, que le 5ème soit un tiret, que le 6ème soit une lettre, que les caractères de 7 à 11 soient des chiffres et que le contenu de ta cellule n'excède donc pas les 11 caractères. Si tout ça est bon alors c'est conforme sinon ça ne l'est pas.
      Ce n'est qu'une ébauche qu'il faut bien sûr travailler. J'imagine qu'il y a plus simple mais si peut te dépanner en attendant. :p
      • Partager sur Facebook
      • Partager sur Twitter

      Le Kansas City Shuffle.. c’est quand tout le monde regarde à gauche et que tu vas à droite.

        6 mars 2012 à 12:22:46

        merci beaucoup! j'ai trouvé une réponse sur un autre forum qui peut t'interesser ou tout du moins tu va pouvoir comparé a la tienne :)


        Function verifier_format(texto As String) As Boolean
             Dim reg As Object
             Dim verif As Object
             
             Set reg = CreateObject("vbscript.regexp")
             reg.Global = False
             'admet les majuscules
             reg.IgnoreCase = True
             
             reg.Pattern = "^[a-z]{3,}[0-9]+[-][a-z]{1,2}[0-9]{5}$"
             Set verif = reg.Execute(texto)
             verifier_format = (verif.Count = 1)
             
             Set verif = Nothing
             Set reg = Nothing
        End Function
        



        mais merci beaucoup =)
        • Partager sur Facebook
        • Partager sur Twitter
          6 mars 2012 à 14:17:28

          Une expression régulière, oui pourquoi pas.
          C'est vrai que c'est moins prise de tête mais faut savoir maîtriser (pas tout à fait mon cas). :euh:
          • Partager sur Facebook
          • Partager sur Twitter

          Le Kansas City Shuffle.. c’est quand tout le monde regarde à gauche et que tu vas à droite.

          excel: verifier le si une cellule respecte bien un format

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown