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 :

Mise à jour automatique cellule - validation


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut Mise à jour automatique cellule - validation
    Bonjour,

    Je me permets de poser ma deuxième question de la journée, mais la deuxième n'ayant rien à voir avec la première, je me suis dit qu'il valait mieux ouvrir un deuxième sujet.
    Désolé si ce n'était pas la chose à faire !

    J'ai un fichier Excel avec différentes listes déroulantes liées à des plages dynamiques.
    Par exemple j'ai un champ "Type de fiche" avec comme choix "Projet" "Notion" "Personne"
    Je peux être amené à changer les sources des listes déroulantes.

    Imaginons, (peu cohérent mais juste en illustration), si je change dans la source "Projet" en "Projets", la modification va être prise en compte dans la liste, mais si j'avais auparavant choisi "Projet" dans la cellule, le changement ne se fait pas automatiquement, je dois revenir dessus manuellement.

    Étant donné le nombre de fiches, j'aimerais que ce genre de modification puisse changer automatiquement le contenu de la cellule concernée.

    J'ai déjà fait quelques recherches et j'ai trouvé notamment quelques exemples de private sub, mais aucune ne marche.

    Auriez-vous une idée pour solutionner ce problème ?

    Merci d'avance,
    Arthur

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par ArthurGDB Voir le message
    Étant donné le nombre de fiches, j'aimerais que ce genre de modification puisse changer automatiquement le contenu de la cellule concernée.
    Ruban Accueil > Icone Rechercher et Sélectionner > Remplacer > Options > Dans = "Classeur"

    Si tu veux faire ça en VBA (ce qui, à mon avis, serait se compliquer la vie pour rien), tu fais la même chose après avoir activé l'enregistreur de macro et Excel te fournira 90% du code.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    bizarre.
    Si je renomme une liste dans le gestionnaire de nom, une validation l'utilisant est bien mise à jour (sur 2010).
    eric

    edit: après réflexion si tu utilises Indirect() ça s'explique.

  4. #4
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    Eric, en effet, j'utilise des "indirect" et des "decaler" car "indirect" ne fonctionne pas avec les plages dynamiques.
    Mais pour être bien d'accord : la liste se met bien à jour, c'est le mot sélectionné auparavant dans la cellule qui ne se met pas à jour.

    Menhir, je ne souhaite pas forcément utiliser le VBA, s'il y a un autre moyen efficace je suis tout à fait preneur !
    De toute manière, sauf si j'ai mal compris, je ne pense pas que ce soit faisable avec la fonction remplacer.

    Il y a différents champs avec validation sur différentes cellules, et cette technique peut marcher mais seulement manuellement : si par exemple je change le mot "Projet" en "Projets", je devrais créer ma VBA spécifique pour ce mot-là et aller exécuter cette même VBA sur tous les classeurs "Projet".
    Vu que j'ai une base de données "catégories" centrale où chaque fiche vient sourcer les données pour les validations, l'objectif serait que si je change le mot "Projet" dans cette base de données "catégories", que toutes les fiches projet se changent automatiquement, et que je n'aie pas à les rouvrir une par une pour aller sélectionner "Projets" dans la liste.

    Merci encore pour vos réponses

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par ArthurGDB Voir le message
    Menhir, je ne souhaite pas forcément utiliser le VBA, s'il y a un autre moyen efficace je suis tout à fait preneur !
    C'est pour ça que je te conseille la commande Remplacer.

    que je n'aie pas à les rouvrir une par une pour aller sélectionner "Projets" dans la liste.
    D'où l'option Dans = "Calsseur" que je te conseille et qui applique le Remplacer à tout le classeur.

  6. #6
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut
    Merci pour ta réponse.

    Je comprends bien mais la fonction remplacer ne permettra pas une automatisation.
    Si j'ai 40 classeurs avec la catégorie "Projet", il faudra que je les ouvre un par un pour faire le "remplacer".

    De plus, la fonction remplacer ne peut pas "comprendre" toute seule quelle catégorie a changé. Il faudra le spécifier manuellement.
    Mon objectif, je le répète, est d'automatiser ces changements, pour que quand j'ouvre mes fiches, les catégories et les cellules associées soient mises à jour sans que j'ai à spécifier manuellement quelle catégorie a été modifiée.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/11/2016, 10h29
  2. [Toutes versions] Mise à jour automatique de cellule
    Par Alaindhu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/09/2014, 10h08
  3. Réponses: 4
    Dernier message: 04/08/2010, 12h48
  4. Droits, mise à jour automatique et validation de valeurs
    Par Antoine_935 dans le forum Django
    Réponses: 4
    Dernier message: 01/09/2009, 11h54
  5. Mise à jour automatique d'un JTextAera
    Par Vlakyron dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 25/09/2004, 20h11

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