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éplacement inatendu d'un "Name"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Par défaut Déplacement inatendu d'un "Name"
    Mon appli comporte un tableau tout à fait simple, qui est régulièrement enrichi par les utilisateurs. Via le menu clic-droit que j'ai reprogrammé, ils peuvent insérer une nouvelle ligne ou détruire une ligne existante (...entre autres actions). En bas du tableau il y a une ligne de totaux, séparée par 2 lignes vides de la dernière ligne créée. Cette ligne a un Name : "ligneTotal".

    Voici qu'est apparu un bug étonnant : un utilisateur m'ayant renvoyé son tableau en erreur, je m'aperçois que le nom (Name) "ligneTotal" est à présent attribué à la ligne placée SOUS cette "ligneTotal" !

    Sachant que les feuilles sont protégées et que mon VBA n'opère aucun réadressage du moindre Name, ma question est : connaissez-vous une action ou processus quelconque, appliqué à une feuille Excel, qui puisse déplacer un Name ???

    Merci à tous !

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    connaissez-vous une action ou processus quelconque, appliqué à une feuille Excel, qui puisse déplacer un Name ??
    Je ne sais pas ce que la protection sur la feuille autorise ou non, mais les actions suivantes peuvent changer l'adresse ligne/colonne d'une zone nommée :
    - coupé / coller de la zone nommée
    - insertion & suppression de ligne ou de colonne.

  3. #3
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut déplacement inattendu d'un name
    bonjour,

    Ce problème est à priori impossible si l'utilisateur n'a comme seule possibilité que d'entrer ou effacer des contenus. Ce qui est le cas d'une feuille protégée. La feuille aura donc été déprotégée ?

    je suppose qu'il s'agit d'une ligne sur laquelle sont dans plusieurs cellules effectués des totaux de colonne. Et sans doute, en première colonne est-il écrit "totaux ou ligne de totaux".

    les formules entrées dans les cellules sont-elles toujours en ligne et valables ?
    Si ce n'est le cas, alors l'utilisateur aura inséré ou supprimé des cellules. Ce que lui interdit la protection.
    Si c'est le cas, alors c'est uniquement la colonne de l'intitulé qui n'est plus en phase. il suffit alors de la repositionner après déprotection de la feuille.

    le seul moyen d'éviter ce problème est de protéger la feuille avec un mot de passe.

    cordialement.

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Par défaut
    @BlueMonkey

    C'est vrai pour le couper-coller mais c'est HEUREUSEMENT inexact pour l'insertion / suppression .....sauf suppression de la ligne en question, évidemment, qui maintient le "Name" en vie, pointant sur rien (#REF).

    Mais mes usagers ne disposent strictement que de commandes programmées par moi et ces commandes ne s'appliquent qu'à des cellules simples, à l'intérieur de la table. Donc ma "ligneTotal" leur est inaccessible.

    Merci quand même !

    @nibledispo
    L'usager ne peut rien faire d'autre que sélectionner UNE cellule A L'INTERIEUR de la table, y saisir une valeur ou lui appliquer l'une des fonctions de mon menu contextuel. Et oui, la feuille est protégée par un mot de passe inconnu de lui.......

    Je suis OK : un tel truc ne peut pas arriver du seul fait d'Excel, il faut qu'il y ait dé-protection + manoeuvre spécifique. Mais ta réponse m'a branché sur une autre piste pour la dé-protection : mon user vient de passer d'Excel 2007 à Excel 2010. Or il semble que ce changement entraîne un "reset" des flags de sécurité, notamment celui qui contrôle... l'activation des macros. Du coup, il a dû se retrouver avec un Workbook sans macros et, pendant un temps, avoir l'illusion de travailler comme avant - s'il s'est contenté de modifier des valeurs. Il a pu même utiliser la commande "Insérer" d'Excel, qui aura visuellement fonctionné sans toutefois que mes formules soient recopiées. Je viens de vérifier : il manque en effet des formules sur quelques lignes.

    En revanche, je ne vois pas comment il a pu "déplacer" le name - c'est un truc qu'ils ne savent pas faire, et il est quand même diff de le faire par inadvertance !

    Merci !

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Citation Envoyé par puresprit Voir le message
    C'est vrai pour le couper-coller mais c'est HEUREUSEMENT inexact pour l'insertion / suppression .....sauf suppression de la ligne en question, évidemment, qui maintient le "Name" en vie, pointant sur rien (#REF).
    Je maintient que lorsqu'on insert une ligne ou une colonne avant une zone nommé, l'adresse de la zone change.
    exemple :
    Si une zone nommée ligneTotal se trouve à l'adresse A2 :
    - après une insertion d'une ligne avant la 2ème ligne, la zone nommé ligneTotal se retrouve à l'adresse A3.
    - si on supprime la ligne 1, la zone nommée ligneTotal se retrouve à l'adresse A1.
    => Donc l'adresse d'une zone nommée change bien lorsqu'on insert et supprime une ligne.
    Mais bon si ces opérations fond partie de celles bloqué par la protection, elles n'expliquent pas le problème en cours.

    A+

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Par défaut
    Evidemment qu'elle se "déplace" par rapport au référentiel "fixe" de la grille Excel !!!! Mais dans mon cas à moi, elle s'est déplacée par rapport au référentiel "visuel" ou si tu veux "fonctionnel" de mon tableau....

    C simple : j'avais une ligne de totalisation nommée "LigneTotal", couleur de fond bleu, pleine de formules (du genre : SOMME ($H$4:$H20)). L'adresse de bas de colonne se modifie évidemment au fur & à mesure qu'on insère de nouvelles lignes et le Name "LigneTotal" suit, en restant toujours pointé sur cette ligne bleue. Je reçois de mon utilisateur une copie de son exemplaire, plantée. Je regarde : j'ai toujours ma ligne bleue en bas du tableau, avec ses formules SOMME, etc... Sauf que le Name "Lignetotal" pointe dorénavant sur la ligne d'en dessous, blanche et vide....... Le décalage est "relatif" à mon tableau. On est en pleine relativité, en fait.

    Merci quand même.
    PS. Faut noter ma trouvaille d'hier : un Update 2007 => 2010 semble foutre en l'air les settings de sécurité !

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