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 :

Paste in value et validation de cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Par défaut Paste in value et validation de cellule
    Bonjour tout le monde

    Je voudrais savoir si qqn connait un moyen pour résoudre le problème suivant:


    dans un tableau, j'ai une zone d'input. les cellules de cette zone ont une validation.

    Je me suis rendue compte que si qqn allait coller en valeur des chiffres dans la zone, la validation était effacée... ce qui pose problème puisque le but de la validation est d'empecher les gens d'inputer dans le passé...

    y a t il moyen de faire en sorte que

    - soit les utilisateurs ne puissent rien coller en valeur

    - soit de protéger les validations ?

    Merci !


  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    La seule solution que j'envisage est de passer par une macro pour contrôler l'évènement Change de la feuille?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        ' Test si on colle dans A1
        If Not Intersect(Target, Range("a1")) Is Nothing Then
            'Procédure de vérification
        End If
    End Sub
    Intersect permet de vérifier si la cellule qui contient la validation, dans ce cas-ci A1, fait partie de la plage sur laquelle on vient de coller.

    A toi de déterminer la procédure de vérification, en fonction de ta validation.

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Sinon pou bloquer le "coller" à l'ouverture du classeur et le réactiver à la fermeture:

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Workbook_Open()
      On Error Resume Next
      With Application
        'bloque le coller à l'ouverture du classeur
        .CommandBars("Edit").FindControl(ID:=22).Enabled = False
        .CommandBars("Cell").FindControl(ID:=22).Enabled = False
        .CommandBars("Column").FindControl(ID:=22).Enabled = False
        .CommandBars("Row").FindControl(ID:=22).Enabled = False
        .CommandBars("Button").FindControl(ID:=22).Enabled = False
        .CommandBars("Formulla Bar").FindControl(ID:=22).Enabled = False
        .CommandBars("Worksheet Menu Bar").FindControl(ID:=22).Enabled = False
        .CommandBars("Standard").FindControl(ID:=22).Enabled = False
      End With
    End Sub


    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
      With Application
        'bloque le coller à la fermeture du classeur
        .CommandBars("Edit").FindControl(ID:=22).Enabled = True
        .CommandBars("Cell").FindControl(ID:=22).Enabled = True
        .CommandBars("Column").FindControl(ID:=22).Enabled = True
        .CommandBars("Row").FindControl(ID:=22).Enabled = True
        .CommandBars("Button").FindControl(ID:=22).Enabled = True
        .CommandBars("Formulla Bar").FindControl(ID:=22).Enabled = True
        .CommandBars("Worksheet Menu Bar").FindControl(ID:=22).Enabled = True
        .CommandBars("Standard").FindControl(ID:=22).Enabled = True
      End With
    End Sub

    C'est à mettre au niveau du ThisWorkbook

    En espérant n'avoir oublier aucune barre.

    .

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Par défaut
    Je vais tester

    Merci


  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    En complément à l'intervention de "Peut-être une réponse", je pense qu'il vaut mieux mettre cela dans les évènements ACTIVATE et DEACTIVATE du classeur, sinon toute option de copier-coller sera bloquée sur tous les classeurs de l'instance Excel lorsque le classeur "contrôlé" sera ouvert
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Pierre +1000

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 61
    Par défaut
    Citation Envoyé par Pierre Fauconnier
    En complément à l'intervention de "Peut-être une réponse", je pense qu'il vaut mieux mettre cela dans les évènements ACTIVATE et DEACTIVATE du classeur, sinon toute option de copier-coller sera bloquée sur tous les classeurs de l'instance Excel lorsque le classeur "contrôlé" sera ouvert
    euh, les évènements activate et deactivate ???



    si je comprends bien il ne sera possible uniquement de faire de l'input et plus aucun coller que ce soit (c'est ce que je cherche)


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

Discussions similaires

  1. [Delphi 7 Windows XP] Valider une cellule dans DBGrid
    Par alainvh dans le forum Débuter
    Réponses: 4
    Dernier message: 27/11/2008, 17h26
  2. Validation de cellules
    Par biblode dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2008, 10h24
  3. Forcer le Paste Special Value
    Par Freiya dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/09/2008, 20h49
  4. Comment forcer une validation de cellule?
    Par Nixar dans le forum VB.NET
    Réponses: 8
    Dernier message: 25/07/2007, 09h38
  5. Validation de cellule dans DBGrid
    Par alainvh dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/11/2006, 16h41

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