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 :

modification de la validation de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut modification de la validation de données
    Bonsoir

    Soit une case M dans la feuille1 qui a une liste déroulante faisant référence aux cellules K5 à K33 (qui est une plage nommée echelon) de la feuille parametres.
    J'ai rajouté une valeur en K34. Je voudrais donc modifier ma plage de référence.

    Je souhaite faire ça à partir d'une macro dans un fichier différent des fichiers à modifier. (j'ai 32 fichiers à modifier et une vingtaine de cases par fichiers).

    J'ai trouvé des bribes de solutions dans divers posts mais aucun ne correspond vraiment (ou ne fonctionne) à ce que je veux obtenir.
    Si quelqu'un a une petite idée....
    Merci d'avance

    gehel

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Si tu transformes ta plage nommée Echelon en tableau, il n'y a pas besoin de macro pour changer la référence, elle sera dynamiquement référencée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    Merci Corona
    peux tu préciser comment faire stp

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 51
    Par défaut
    Nouvelles valeurs pour echelon
    =parametres!$k$5:decaler(parametres!$k$5;NBVAL(parametres!$k:$k)-2;0)

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Citation Envoyé par louqui Voir le message
    Nouvelles valeurs pour echelon =parametres!$k$5ECALER(parametres!$k$5;NBVAL(parametres!$k:$k)-2;0)
    C'est effectivement une solution que l'on a utilisée souvent par le passé mais en modifiant une plage en tableau on obtient le même résultat sans l'utilisation de la formule DECALER qui par le fait qu'elle soit une formule volatile est gourmande en utilisation du processeur.
    Citation Envoyé par geheloftasie Voir le message
    peux tu préciser comment faire stp
    Pour transformer une plage en tableau, sélectionner la plage, cliquer sur l'onglet [Accueil] groupe Style cliquer sur Mettre sous forme de tableau choisir dans la galerie un style de tableau et cliquer sur OK dans la boîte de dialogue idoine.
    A partir de ce moment là, la plage sera dynamique si l'on fait référence à cette plage.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 51
    Par défaut
    Bien plus efficace en effet

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    ça y est j'ai réussi ! a force de bidouiller et en me servant de l'enregistreur de macros.
    La fonction select n'a fonctionné qu'après avoir activé la feuille où se faisait la selection.

    Merci à vous deux : surtout que je ne connaissais pas l'utilisation de tableaux dynamiques.

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par geheloftasie Voir le message
    ça y est j'ai réussi ! a force de bidouiller et en me servant de l'enregistreur de macros.
    La fonction select n'a fonctionné qu'après avoir activé la feuille où se faisait la selection.
    Il faut proscrire l'utilisation des Select, Selection, Activate etc ...
    Par exemple : Ce que donne l'enregistreur de macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
        Sheets("Feuil5").Select
        Range("A6").Select
        ActiveCell.FormulaR1C1 = "Toto"
        Range("B6").Select
    End Sub
    Ce qu'il faut modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub maModif()
     Sheets("Feuil5").Range("A6") = "Toto"
    End Sub
    Et mieux encore, préciser le classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub maModif()
     ThisWorkbook.Sheets("Feuil5").Range("A6") = "Toto"
    End Sub
    Avec ce code, la procédure fonctionnera quelle que soit la feuille sur laquelle on se trouve.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    Merci
    j'ai corrigé mon fichier avec tes indications. C'est plus simple et direct en effet.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/10/2012, 12h51
  2. Réponses: 2
    Dernier message: 06/04/2007, 21h37
  3. validation de donnée... et post
    Par sonialem2000 dans le forum Bases de données
    Réponses: 12
    Dernier message: 13/07/2004, 02h34
  4. dbgrid AND validation des données
    Par samlerouge dans le forum Bases de données
    Réponses: 10
    Dernier message: 11/06/2004, 23h08
  5. Validation de données à partir d'un XML Schema
    Par leup dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2004, 08h30

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