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 :

[EXCEL] Validation des données et enregistrement [Débutant(e)]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut [EXCEL] Validation des données et enregistrement
    Bonjour,

    j'ai un formulaire a faire sous excel et je peine un peu... Je ne sais pas vraiment si je suis au bon endroit, mais s'il vous plait aidez moi.
    Je dois au final avoir un fichier excel, qui servira de model.
    Avec des zones de saisie obligatoires.

    Ce que j'aimerais faire c'est d'une, bloquer l'enregistrement sur le model (ca j'y suis a moitié arrivé ) afin de ne pas écraser l'original.
    Et empecher tout enregistrement (même sous) tant que les zones demandés ne sont pas renseignés.
    C'est la que ca bloque, je ne vois pas du tout comment proceder (mais je peux vous assurer que j'ai cherché) et je suis débutant en programation. ( ca se trouve la création d'un module n'est même pas nécessaire)

    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Ca peut dépendre du format de fichier?
    Peut être que je me suis mal exprimé

    Je reformule ma question :

    Comment bloquer l'enregistrement total d'un fichier excel, tant que celui ci n'est pas completé?

    (la sortie du programme restant active biensur)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Bon je cherche toujours...

    J'ai créer une macro qui s'execute correctement à premiere vu, mais j'ai des doute quand à certaine donnée que j'ai inseré ( save and save as)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Static Sub name()
     
    If Range("K38") = Empty Then
        Save = False
        SaveAs = False
        msg = "erreur"
        MsgBox msg
     
    End If
    End Sub

    Maintenant j'aimerai executer cette maccro automatiquement quand la personne tente d'enregistrer, j'ai débuter quelque chose sur "thisworkbook", mais je ne sais même pas si c'est bien la qu'il faut inserer la commande.

    Si quelqu'un peut m'aider... merci

    de toute maniere je continu à chercher et informerai de l'évolution

  4. #4
    Invité
    Invité(e)
    Par défaut


    C'est pas mal du tout, il faut bien mettre ton code dans "ThisWorkbook" !

    Dans l'évènement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    End Sub
    Gros problème c'est que ça va t'empècher toi également d'enregistrer les modifications si tu n'as pas remplie les cellules

    Sinon pour tester si certaines cellules sont bien remplies, voilà ce que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Set TabVal = Application.ActiveWorkbook.Sheets("Params").Range("ValObl")
      ' Vérification de la saisie
      For Each Cel In TabVal  ' Pour chaque cellule obligatoire
        If Sheets("NomFeuilleATester").Range(Cel).Value = 0 Then
          ' Si la valeur de la cellule est égale à VIDE, on affiche un message d'erreur
          Sheets("NomFeuilleATester").Range(Cel).Select
          Msgbox "Cette cellule n'est pas remplie !"
          Cancel = True
          ' On sort de la procédure
          Exit For
        End If
      Next
    J'ai également une feuille "Params" cachée, dans laquelle J'ai saisie les unes en dessous des autres toutes les références obligatoires.
    Cette zone de cellules obligatoires est nommée "ValObl"

    Voilà
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 21/11/2006 à 16h54.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Ahhh je te remerci
    Je viens de tester ton fichier et effectivement c'est exactement ce que je veux

    Mais pour le moment je n'arrive pas à le faire fonctionner dans le miens, il m'affiche un message d'erreur ("erreur d'execution 1004....") et le debog me surligne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set TabVal = Application.ActiveWorkbook.Sheets("Params").Range("ValObl")
    Je vais (essayer) voir pkoi.

    Encore merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Bon je me suis permi de copier/coller ma feuille a la place de celle des zones obligatoire dans ton fichier.

    Le systeme marche, mis a part le fait qu'il m'affiche toujours une erreur, mais la procedure ne s'arrete pas pour autant....

    Je commence à voire la lumiere au bout du tunnel
    Je ne vois pas, par contre, à quoi correspond la commande "Sheets(1)" ...
    Si je me permet à penser, je dirai que c'est le moyen de définir la feuille, mais vraiment pas sur :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C#: Ouvrir un fichier Excel, ajouter des donneés, et enregistrer
    Par soufian1364 dans le forum Services Web
    Réponses: 4
    Dernier message: 24/03/2009, 14h12
  2. [EXCEL] Validation des données saisies - nouvelle Question :-)
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 29/11/2006, 13h28
  3. [Excel] Récupérer des données d'une base Access
    Par FoxDeltaSierra dans le forum Excel
    Réponses: 8
    Dernier message: 03/09/2005, 10h22
  4. Réponses: 3
    Dernier message: 25/07/2005, 09h40
  5. dbgrid AND validation des données
    Par samlerouge dans le forum Bases de données
    Réponses: 10
    Dernier message: 11/06/2004, 23h08

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