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 :

Tri de colonnes selon 1 critère


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2007
    Messages : 218
    Points : 98
    Points
    98
    Par défaut Tri de colonnes selon 1 critère
    Bonjour à tous,
    Je cherche à créer une macro qui me permettre de déplacer une colonne en premier dans le même tableau.

    Exemple :
    - J'ai un tableau de 4 colonnes (Nom, Prénom, Age, Sexe).
    - Depuis une liste déroulante, je dois pouvoir sélectionner quelle colonne doit passer en premier.
    - L'ordre des colonnes doit toujours rester le même, à l'exception bien évidemment de la colonne déplacée.

    Si je sélectionne une autre colonne à mettre en premier, la colonne initialement déplacée doit reprendre sa place du début.

    J'avoue ne pas connaître grand chose en VB et je bloque complètement sur ce point.

    Merci par avance pour votre coup de main.
    Cynoq

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    L'enregistreur de macro est ton ami.
    Pour le déplacement de la colonne D, il donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 25/01/2008 par AlainTech
    '
     
    '
        Columns("A:A").Select
        Selection.Insert Shift:=xlToRight
        Columns("E:E").Select
        Selection.Cut Destination:=Columns("A:A")
        Columns("A:A").Select
    End Sub
    Après correction, on peut lui donner cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub AuDebut()
      Dim strCol As String
      strCol = "D" ' Ici, tu peux mettre un InputBox pour donner le choix à l'utilisateur
      Columns(1).Insert Shift:=xlToRight
      Columns(Columns(strCol).Column + 1).Cut Destination:=Columns(1)
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2007
    Messages : 218
    Points : 98
    Points
    98
    Par défaut
    Bonjour et merci pour ces infos.
    Mon problème est un peu plus complexe dans le sens où je dois conserver l'ordre des colonnes. Si je décide dde déplacer une autre colonne, la colonne qui a été déplcée juste avant doit revenir à sa place initiale.
    Je ne peux pas mettre le fichier en démo aujourd'hui, je ne suis pas sur le même ordi. Je pense pouvoir imager ma demande en début de semaine.
    Merci quand même pour votre coup de main.
    Cynoq

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    J'ai du mal à comprendre le but de cette manoeuvre.

    Quoi qu'il en soit, lorsqu'on se rend compte que, pour arriver à ce qu'on veut, le programme commence à prendre la forme d'un usine à gaz, il est temps de se demander s'il ne faut pas envisager les choses autrement.

    Puisqu'il s'agit de présenter la feuille autrement, pourquoi ne pas créer une feuille uniquement pour la présentation et garder la feuile d'origine avec son ordre de colonnes préservé?

    Autre piste: Avoir une colonne vide en début de feuille pour y dupliquer la colonne qu'on veut voir en premier.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Comment calculer la moyenne sur une colonne selon un critère
    Par Contact2012 dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/06/2010, 16h07
  2. Réponses: 19
    Dernier message: 31/05/2010, 09h51
  3. [AC-2003] Tri de données selon un critère
    Par kisuke94 dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 09/12/2009, 12h12
  4. Réponses: 0
    Dernier message: 25/01/2009, 10h02
  5. Tri de colonnes selon 1 critère
    Par cynoq dans le forum Excel
    Réponses: 1
    Dernier message: 23/01/2008, 21h04

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