IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Code VBA pour un check sur cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 30
    Par défaut Code VBA pour un check sur cellules
    Bonjour à tous

    Depuis deux jours maintenant j'essaye de trouver un moyen de vérifier des cellules avant l'envoie du formulaire. Mon ancien collègue avait créé un fichier excel (assez complexe) dans lequel j'ai essayé d'ajouter des formules mais sans succès (j'ai a chaque fois des messages d'erreurs)

    Je suis loin d'être douée en excel raison pour laquelle je demande votre aide.

    En attache je vous joins "le" fichier, sur lequel j'ai ajouté des commentaires (tab fichier fournisseur). Mon but serait au moment de l'envoie du formulaire (voir copie ecran ci-dessous), qu'un check soit fait sur le numéro de téléphone et fax et de prévenir l'utilisateur que le "leading zero", les espaces, points, virgule etc sont proscrits.
    De même pour le numéro de compte banquaire et de TVA, pas d'espace de points ou caractères spéciaux..

    Je vous remercie et n'hésitez pas a me contacter si vous aviez besoins de renseignements complémentaire, je serais ravie de vous les fournir. (en attache le fichier excel)

    Guismo30
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Plutôt que de signaler les erreurs de saisie par un message, il est préférable de corriger l'erreur dès qu'elle est détectée.
    Voici un bout de code à adapter qui détecte certaines anomalies et les corrige dans la foulée. Code dans le module de la feuille "Fiche fournisseur".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Target.Count = 1 Then
            'Contrôle des cellules de banque, téléphone et fax
            If Not Intersect(Target, Range("D23, R23, D33, D35, R33, R33, D26, O26, Y26")) Is Nothing Then
                If Target.Value <> "" Then
                    If Left(Target, 1) = "0" Then Target = Right(Target, Len(Target) - 1) 'suppression du zéro non significatif
                    Target = Replace(Target, ",", "", 1) 'suppression des virgules par rien
                    Target = Replace(Target, " ", "", 1) 'suppression des espaces par rien
                    Target = Replace(Target, "-", "", 1) 'suppression des signes "-" ou tirets par rien
                    Target = Replace(Target, "+", "", 1) 'suppression des signes "+" par rien
                    Target = Replace(Target, "_", "", 1) 'suppression des signes "_" ou soulignés par rien
                End If
                'Contrôles supplémentaires pour les numéros de téléphone
                If Not Intersect(Target, Range("D23, R23, D33, D35, R33, R33")) Is Nothing Then
                    If Not IsNumeric(Target.Value) Then
                        MsgBox "chiffres acceptés uniquement"
                        Target = ""
                    End If
                End If
            End If
        End If
        Application.EnableEvents = True
    End Sub
    Avec le fichier
    Pièce jointe 465333

    Cdlt

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Attention à l'utilisation de ISNUMERIC

    &H2 par exemple n'est pas valide pour un n° de téléphone par exemple mais est numérique

  4. #4
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 30
    Par défaut
    @ARTURO83 un tout grand merci je teste celà maintenant et vous dis quoi.

Discussions similaires

  1. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21
  2. [XL-2003] macro VBA pour imposer signe "-" sur une cellule
    Par cilala dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/09/2010, 00h13
  3. [XL-2007] Code VBA pour remplacer le contenu de cellules
    Par tomlapomme dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/08/2010, 14h39
  4. Code VBA pour Copier une cellule dans un filtre?
    Par Redisdead dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2009, 05h48
  5. Code VBA pour effacement de contenu de cellules
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2008, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo