[VBA-excel] Vérification du format

Bonjour,

je voudrais controler le format d'une cellule à chaque fois que cette cellule correspond à une colonne particuliere.

Par exemple la colonne 1 contient que des dates, quand on écrit dans la colonne 1, je veux qu'une macro vérifie automatiquement que la date est au bon format.

Merci de votre aide.

3 réponses

  1. Contributeur
    bonjour

    Par exemple la colonne 1 contient que des dates

    pour le vérifier, tu sélectionnes ta colonne

    tu fais menu "données" / "validation"

    dans l'onglet "options" / "autoriser" tu choisis "date" puis les conditions voulues

    dans l'onglet "alerte d'erreur" tu coches "quand..."
    et tu mets le titre et le message d'anomalie

    dans l'onglet "message de saisie" tu peux mettre un libellé

    si tu veux controler d'autres données il suffit d'adapter.

    1. Modérateur
      Salut gbinforme,

      Dans le message avec notre petite dispute tu trouveras un module encore plus simple, parce qu'on aime la simplicité.

      Et maintenant petite paranthèse :
      Le message est intitulé [VBA-excel] Vérification de format.

      Mais comme d'habitude tu as choisi la comodité. Il ne faut pas la confondre avec la simplicité.

      Je n'ai pas vu encore ton module.

      Et comme je t'ai dit je ne veut pas la guerre, mais je n'aime pas quand je suis "attaqué" "très bien cette formule car pourquoi faire compliqué quand on peut faire simple".

      Quand j'ai lu le module d'Armojax ("Hello ... ou encore") j'ai pris note.
      Donc si tu connais des choses c'est mieux de partager tes connaissances que de faire de la philosophie.

      A+

      et "toujours zen" comme tu dit
  2. Modérateur
    Salut,

    Supposons que la colonne A:A a le format dd/mm/yy
    Sub verif_format()
     If Range("A:A").NumberFormat = "dd/mm/yy" Then
       MsgBox "format ok"
     Else
        MsgBox "le format ne correspond pas"
     End If
    

    Donc dans la partie du code où tu écrit des données en excel tu doit tester le format (dissons une validation des données).

    Si format alors fait la saisie sinon.....
    1. Bonjour,

      A placer dans le code de la feuille :

      *****************************************************
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)

      Dim ColonneA As Range
      Dim ColonneB As Range
      Dim Resultat As Range

      Set Resultat = Intersect(Target, ColonneA)
      If Not (Resultat Is Nothing) Then
      ValideDate (Resultat)
      End If

      Set Resultat = Intersect(Target, ColonneB)
      If Not (Resultat Is Nothing) Then
      ValideFournisseur (Resultat)
      End If

      End Sub
      ************************************************

      Reste à construire la fonction qui valide la date et celle qui valide le fournisseur (a titre d'exemple pour une deuxième colonne à vérifier).

      Lupin

      Discussions similaires

      question pix mot caché

      7 réponses