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 :

Macro excel qui vérifie le remplissage ce cellule avant enregistrement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Par défaut Macro excel qui vérifie le remplissage ce cellule avant enregistrement
    Bonjour,

    J'ai réussi a composer une macro qui vérifie le remplissage de cellule avant l'enregistrement mais j'ai besoin d'aide, car même si des cellules sont vides, après acceptation des box d'alerte, l'enregistrement se fait quand même.

    Je souhaiterais que ma macro s’arrête après les message et que l'enregistrement ne se fait que s'il n'y a pas de message d'erreur.

    Voici la macro :

    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
    25
    26
    Sub Test2()
    Dim MaPlage As Range, Cel As Range
     
    Set MaPlage = Sheets("Fiche d'Intervention").Range("OBLIG")
    For Each Cel In MaPlage 'pour toutes les cellules de la plage
        If Cel.Value = "" Then 'si elle est vide alors
            'message à l'utilisateur
            MsgBox "La cellule : " & Cel.Address & " n'est pas remplie."
            'sortie de la procédure
    End If
    Next
     
    Dim extension As String
    Dim chemin As String, nomfichier As String
    Dim style As Integer
    Application.ScreenUpdating = False
    ThisWorkbook.ActiveSheet.Copy
    extension = ".xls"
    chemin = "C:\Users\SAML-PBV\Desktop\TEST TRANSPORT\"
    nomfichier = ActiveSheet.Range("N2") & "_INTERVENTION_" & Range("F10") & "_" & Range("F11") & extension
    With ActiveWorkbook
    '    .ActiveSheet.DrawingObjects(1).Delete
        .SaveAs Filename:=chemin & nomfichier
        .Close
    End With
    End Sub

    Merci pour votre aide à tous.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il est toujours possible de quitter une procédure par un Exit (soit Exit Sub soit Exit Function). Il suffit de placer cette instruction si la condition est vraie.
    J'ajouterais qu'au lieu de parcourir chaque cellule de la plage, tu pourrais utiliser la fonction NBVAL (COUNTA en VBA) qui renvoie le nombre de cellules remplies dans une plage.
    La propriété Count d'un objet Range renvoyant le nombre de cellules d'une plage, il suffirait de vérifier si les deux valeurs sont égales.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Par défaut
    Merci pour votre réponse, mais a quelle position dois-je mettre le "Exit". Merci

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    mais a quelle position dois-je mettre le "Exit". Merci
    Comme je l'ai écrit dans ma réponse, si le test est VRAI.
    Donc soit
    If Cel.Value = "" Then 'si elle est vide alors
    'message à l'utilisateur
    MsgBox "La cellule : " & Cel.Address & " n'est pas remplie."
    'sortie de la procédure
    Exit Sub
    End If
    Soit si l'on ne souhaite pas de message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cel.Value = "" Then Exit Sub
    (Non testé)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. macro Excel qui compte les lignes
    Par FreddyNB dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/07/2008, 17h15
  2. macro Excel qui compte les lignes
    Par FreddyNB dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/07/2008, 17h11
  3. Réponses: 6
    Dernier message: 24/01/2007, 08h15
  4. macro excel : affectation d'une formule à une cellule
    Par titouneee dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/01/2007, 15h53
  5. Macro excel qui ferme tous les fichiers .xls
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/01/2006, 20h21

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