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 :

Détection suppression / insertion de lignes et colonnes sur feuille Excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Détection suppression / insertion de lignes et colonnes sur feuille Excel
    Bonjour,

    Je me permets de solliciter votre aide sur le point suivant :

    Je ne sais pas comment faire pour afficher un message lorsque l'utilisateur supprime ou ajoute des lignes ou colonnes sur une feuille EXCEL

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Détection suppression / ajout de ligne ou colonne sur feuille EXCEL
    Bonjour,

    Y-t-il une méthode simple pour faire cette détection : protection de feuille, worksheet_change,... ?

    Merci d'avance pour votre aide.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Protège ta feuille.
    Dans Excel -> Menu Outils -> Protection
    Dans VBA, regarde à Protect dans l'aide en ligne

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Détection suppression / ajout de ligne sur EXCEL
    La fonction protect entraîne une protection totale de la feuille : on ne peut pas écrire dans les cellules.

    Je souhaite que la protection soit partielle : dans une plage de cellule données
    , l'utilisateur peut modifier le contenu des cellules mais ne peut pas ajouter ou supprimer lignes et colonnes.

    Je ne sais pas comment faire pour faire cette détection.

    Merci d'avance pour votre aide.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ça, c'est parce que tu n'es pas allée au bout de ta lecture. Tu as plein de paramètres... paramétrables
    Par exemple :
    Citation Envoyé par l'aide en ligne
    UserInterfaceOnly Argument de type Variant facultatif. Cet argument a la valeur True pour protéger l'interface utilisateur, mais pas les macros. Si cet argument n'est pas spécifié, la protection s'applique à la fois aux macros et à l'interface utilisateur.
    ou bien
    Citation Envoyé par l'aide en ligne comme toujours
    AllowInsertingColumns Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'insérer des colonnes dans une feuille de calcul protégée. La valeur par défaut est False.
    Citation Envoyé par toujours pareil
    AllowInsertingRows Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'insérer des lignes dans une feuille de calcul protégée. La valeur par défaut est False.
    Et tu en as encore plein dans l'aide en ligne à "Protect appliqué à Worksheet"
    Bonne lecture et Bonne soirée

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Détection suppression / ajout de ligne ou colonne
    En utilisant la fonction protect et en précisant la valeur des divers paramètres associés, l'utilisant ne peut pas, en effet, supprimer ou ajouter des lignes ou colonnes.

    Le souci réside dans le fait que même si l'utilisateur est autorisé à saisir des données dans les cellules, certaines d'entre elles restent protégées (cellules vides et remplies).

    Y-a-t-il une méthode pour simuler un "undo" (Ctrl +Z) ou bloquer l'action "supprimer" ou "ajouter" à chaque fois que l'utilisateur veut le faire ?

    Je ne sais pas comment faire pour résoudre ce problème.

    Merci d'avance pour votre aide.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    La difficulté dans la formulation de ce type de discussion est de finir par comprendre le but de la manoeuvre...
    Je reformule ce que j'ai compris de nos échanges :
    Tu veux que les utilisateurs puissent compléter les données d'une feuille de calculs sans qu'il puisse modifier les données précédemment saisies. Apparemment... ils doivent pouvoir modifier leurs propres saisies.
    Si je ne commets pas d'erreur...

    Quant à Undo ? Pourquoi faire ?... Puisqu'une annulation peut se faire par Excel et que Undo ne peut pas supprimer une commande VBA.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Interdiction suppression / ajout de ligne ou colonne
    Oui, je souhaite que l'utilisateur puisse modifier les feuilles du classeur EXCEL en terme de saisie. Mais le code doit leur interdire d'ajouter ou supprimer ligne et colonne.

    Je ne sais pas comment faire pour bloquer ces actions, pour griser les actions "supprimer" et "ajouter" du menu édition : avec protect, on ne peut pas saisir dans certaines cellules de la feuille.

    Merci d'avance pour votre aide.

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Pour saisir des données dans une feuille protégée, les cellules doivent être "déverrouillées".
    Dans Excel, il suffit, avant protection de la feuille, de sélectionner les cellules à renseigner, de les déverrouiller (-> Menu Format -> Cellules -> Onglet Protection -> dévalider l'option "verrouillée") Enfin tu protéges ta feuille.
    Si tu enregistres la macro en faisant, tu auras "un" code qu'il te restera à nettoyer de tous les selects ou à nous le soumettre pour qu'on te montre comment faire

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Interdiction suppression /ajout de ligne ou colonne
    J'ai déverrouillé les cellules de la feuille EXCEL et j'ai activé la protection de la feuille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
        ActiveSheet.Protect AllowInsertingRows:=False AllowInsertingColumns:=False
    End Sub
    Je ne sais pas si cela suffit car j'ai déjà utilisé protect et cela n'a pas fonctionné.

    Merci d'avance pour votre aide.

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    cela n'a pas fonctionné
    Peux-tu être plus explicite ? Erreur ? sur quel code ? Protection des cellules non verrouillées maintenues ? Protection inopérante sur cellules verrouillées ?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Interdiction suppression / ajout de ligne ou colonne
    Il n'y avait pas d'erreur dans le code mais je n'obtenais pas le résultat que je souhaitais.

    Le problème était le suivant : saisie possible dans certaines cellules mais pas dans toutes car elles étaient protégées.

    Je me demande si la syntaxe que j'ai donné est correcte ou quels sont les facteurs possibles expliquant ce résultat.

    Merci d'avance pour votre aide.

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par cati_78
    Je me demande si la syntaxe que j'ai donné est correcte ou quels sont les facteurs possibles expliquant ce résultat.
    Si tu déverrouilles certaines cellules et en laisses verrouillées d'autres il est normal que tu puisses écrire dans les cellules déverrouillées et inversement...

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Interdiction de supprimer / ajouter
    Cela fonctionne. Merci encore pour votre aide.

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

Discussions similaires

  1. [XL-2013] Suppression d' image sur feuille excel par macro
    Par GROBIN dans le forum Excel
    Réponses: 3
    Dernier message: 16/11/2013, 23h07
  2. [2.3.0] Taille de colonne sur sortie EXCEL
    Par vanackg dans le forum BIRT
    Réponses: 5
    Dernier message: 23/07/2009, 14h29
  3. Réponses: 1
    Dernier message: 01/08/2008, 19h51
  4. Libérer colonnes sur feuille protégée
    Par karenna dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/03/2008, 10h16
  5. [VB.net] Détection suppression d'une ligne dans Datagrid
    Par Cereal123 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2006, 14h08

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