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 :

Tableaux : récupérer la formule associée à une colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut Tableaux : récupérer la formule associée à une colonne
    Bonjour,

    j'utilise un tableau structuré (au sens Insertion, Tableau) et dans ce tableau certaines colonnes contiennent une formule. L'onglet est protégé mais sur une des colonnes calculées je veux laisser la possibilité de forcer une valeur, donc je laisse la colonne en question déprotégée.

    Par une mise en forme conditionnelle je met en surbrillance les cellules qui ont été forcées avec une valeur, jusque là tout va bien.

    Maintenant en VBA je voudrais donner la possibilité de remettre la formule d'origine, comme Excel en donne la possibilité si la feuille est déprotégée :

    Nom : Sans titre.png
Affichages : 127
Taille : 7,7 Ko

    Sauf que je ne trouve pas dans le modèle objet où peut bien être cachée la formule de colonne. Excel l'a forcément qqpart puisqu'il sait la restaurer ! Je vois des solutions de contournement : par exemple insérer une ligne, récupérer la formule, puis supprimer la ligne, mais bon, ou mettre la formule dans un coin sous forme de texte (comme c'est une formule de tableau elle se récupère sans transformation), mais bon derechef...

    La question est donc : quelqu'un sait-il où on peut récupérer en VBA la formule de colonne calculée dans un tableau ? Dans le genre Sheet.ListObjects(1).ListColumns(4).FormulaR1C1 (qui malheureusement ne marche pas )

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 572
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 572
    Par défaut
    Bonjour

    Dans un Tableau structuré une colonne formulée ne doit pas recevoir de saisie au risque de casser toute la logique du tableau et de se retrouver avec des valeurs incohérentes.

    Prévoir une autre colonne.

  3. #3
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour Chris,

    merci pour ta réponse, qui correspond à une autre solution de contournement que j'ai envisagée, mais pas satisfaisante d'un point de vue ergonomique.

    Après la position que tu exprimes me semble un peu radicale

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 572
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 572
    Par défaut
    RE
    Citation Envoyé par Tête de chat Voir le message
    Après la position que tu exprimes me semble un peu radicale
    C'est pour avoir vu les dégâts occasionnés à maintes reprise, mais chacun fait comme il veut...

  5. #5
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Hello,

    c'est malin, du coup les nombreuses personnes qui ont la réponse n'osent pas la donner pour ne pas être complice de dégâts occasionnés à maintes reprises.

    Bon faut bien avancer, j'ai choisi l'option "mettre la formule dans un coin sous forme de texte". Histoire de rassurer tout le monde c'est limité à deux colonnes "contact" et "téléphone" sur une réservation, hérités de la fiche client et modifiables ponctuellement sur telle ou telle résa. Et donc une option sur clic-droit permet maintenant de revenir à la formule initiale, et donc à la donnée client. Je pense que le tableau n'est pas trop en péril...

    Je reste preneur de la réponse à la question initiale "où peut-on récupérer en VBA la formule de colonne calculée dans un tableau ?" ne serait-ce que par curiosité intellectuelle.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 532
    Par défaut
    Citation Envoyé par Tête de chat Voir le message
    c'est malin, du coup les nombreuses personnes qui ont la réponse n'osent pas la donner pour ne pas être complice de dégâts occasionnés à maintes reprises.
    Ha ?
    Qu'est ce qui te fait dire que Chris n'apporte pas la meilleur solution ?

    Citation Envoyé par Tête de chat Voir le message
    Bon faut bien avancer, j'ai choisi l'option "mettre la formule dans un coin sous forme de texte"....
    Tu choisis de ne pas prendre en considération les conseils d'un expert, à tes risques et périls.
    Le problème est que cela va te donner de mauvaises habitudes dont il te sera très difficile de te défaire.
    Sur un petit classeur distribué à 2-3 personne, ce n'est peut-être pas grave, mais sur un plus gros et / ou distribué à des centaines voire des milliers de personnes, ça passeras beaucoup moins bien.

    Tu as le nez collé sur ton problème particulier. Prend plus de recul et voit la problématique dans sa globalité.

  7. #7
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 572
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 572
    Par défaut
    RE
    Citation Envoyé par Tête de chat Voir le message
    Je reste preneur de la réponse à la question initiale "où peut-on récupérer en VBA la formule de colonne calculée dans un tableau ?" ne serait-ce que par curiosité intellectuelle.
    Dès que l'on mélange les choux et les carottes dans une colonne, il n'y a plus une formule mais potentiellement autant de formules que de lignes dans la colonne : donc cela devient le tirage du loto pour récupérer à coup sûr celle d'origine...

    Soit on veut tirer profit de la puissance des tableaux et on en respecte la norme sur laquelle est basée cette puissance, sinon il vaut mieux ne pas les utiliser pour éviter que cela parte en vrille car il sera trop tard ensuite quand les données seront erronées.

    Quand on a travaillé avec des bases de données, desquelles s'inspirent les tableaux structurés, on sait que cela peut tourner comme une montre suisse si la conception est bonne ou se transformer en usine à gaz dans le cas contraire...

    Mais comme déjà dit je laisse chacun décider... je conseille mais n'impose rien

Discussions similaires

  1. [Tableaux] Récupérer le nom d'une variable
    Par lem dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2007, 10h21
  2. [Tableaux] Récupérer le contenu d'une balise HTML
    Par StarNab dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2006, 12h38
  3. Récupérer les infos d'une colonne de type DataSet
    Par Zugg dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2006, 14h46
  4. [Tableaux] récupérer un tableau sur une autre page
    Par samsso2005 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 22h58
  5. Récupérer la valeur d'une colonne de la ligne d'un DBGrid
    Par Oluha dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/10/2005, 10h22

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