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ébutant - MAJ colonnes dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut débutant - MAJ colonnes dynamique
    Je travaille avec un fichier Excel extrêmement volumineux, des centaines de colonnes et des milliers de lignes.

    Par ex :


    Pour référencer les colonnes avec leur numéros, je crée une feuille à côté qui contient 2 colonnes, une pour les titres, une pour les index

    Comme ça :


    L'emplacement des colonnes peut être changé en fonction des besoins d'analyse.


    Je veux écrire une macro qui s'occupe le travail de MAJ des colonnes sur la 2ème feuille. Lorsque je change l'emplacement d'une colonne de la 1ère feuille, je cliques sur le bouton de la 2ème feuille et ça s'est mis à jour automatiquement, en conservant le format précise.


    Est-ce c'est réalisable ?

    Merci

  2. #2
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour hantran,

    Est-ce c'est réalisable ?
    oui voilà,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Macro1()
    Dim f1 As Object, f2 As Object, ea As Integer, i As Integer
    Set f1 = Sheets("Feuil1")
    Set f2 = Sheets("Feuil2")
    'pour chaque valeur dans la colonne A1:Ax
    For i = 1 To f2.Range("A65536").End(xlUp).Row
    'ea = emplacement actuel de la colonne i sur la feuille 1
       ea = Application.Match(f2.Range("A" & i), f1.Rows(1), 0)
        If Not ea = i Then
          f1.Columns(ea).Cut
          f1.Columns(i).Insert Shift:=xlToRight
        End If
    Next
    Application.CutCopyMode = False
    End Sub

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Bonjour sabzzz,

    J'ai essayé votre code et ce n'est pas tout à fait ce que j'attends. En fait le code remet en état initial l'emplacement des colonnes sur la 1ère feuille, lors d'un changement sur cette dernière.
    Cependant, je veux que la 2ème feuille change, non la 1ère.

    Encore un autre point que je veux prendre en compte, c'est le numéro de ligne des titres des colonnes, celui ci n'est pas fixe, car je peux de temps en temps ajouter quelques choses au-dessus, des images, des logos ou des petits graphes..etc. Dans l'exemple il commence par la ligne 3, comment puis-je déterminer intelligemment le numéro de cette ligne?
    Par ex quelque chose comme :
    firstRow = ... ça me renvoie le numéro.

  4. #4
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour hantran,

    mets cette formule en cellule B1 de la feuil2,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV(A1;Feuil1!$1:$1;0)
    tu pourras trier la plage Feuil2 A:B sur la colonne B

Discussions similaires

  1. [Débutant] Problème colonnes dynamiques GridView
    Par NiamorH dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 01/10/2008, 14h56
  2. Etat : colonnes dynamiques
    Par chris76 dans le forum Access
    Réponses: 8
    Dernier message: 26/09/2005, 17h56
  3. Colonnes dynamiques dans Rave report
    Par omarkrachni dans le forum Rave
    Réponses: 1
    Dernier message: 10/05/2005, 19h33
  4. [Débutant][JDBC] Rendre "dynamique" le liens à la
    Par steelidol dans le forum JDBC
    Réponses: 2
    Dernier message: 27/04/2005, 16h42
  5. libelles et entêtes de colonnes dynamiques
    Par valfredr dans le forum XMLRAD
    Réponses: 7
    Dernier message: 09/03/2004, 22h40

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