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 :

Conserver la sélection sur une cellule après tri


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut Conserver la sélection sur une cellule après tri
    Bonjour,
    J'ai une macro qui me permet d’insérer des nouveaux articles dans une feuille qui récapitule tous mes produits. Une fois inséré à la dernière ligne, la macro trie par ordre croissant la colonne B puis C, du coup je ne vois plus la ligne que je viens d'insérer.

    Est-il possible de faire en sorte que la ligne que je viens de créer reste sélectionnée?

  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 174
    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 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si une de tes colonnes (idéalement la première) à un identifiant unique, cela ne pose pas de problème à programmer mais si ce n'est pas le cas, ce sera plus compliqué car il faudra faire la concaténation de plusieurs colonnes afin de créer cet identifiant unique et le récupérer après le tri. Tout au moins par rapport à mes connaissances actuelles.
    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
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut
    Bonjour et merci pour ta réponse,

    Qu'entends tu par identifiant unique? Inscrire par exemple "#1", "#2",... dans la colonne "A" pour chaque produit créé suffirait-il?
    Comment retrouver et sélectionner la ligne ensuite?
    Et enfin que se passe t-il si je place mon identifiant dans la colonne "F"?

  4. #4
    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 174
    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 174
    Billets dans le blog
    53
    Par défaut
    Bonjour;
    Qu'entends tu par identifiant unique? Inscrire par exemple "#1", "#2",... dans la colonne "A" pour chaque produit créé suffirait-il?
    C'est exactement cela. N'importe quoi du moment que c'est unique

    Comment retrouver et sélectionner la ligne ensuite?
    Voir ci-dessous
    Code de la procédure (SortTable est une procédure que j'ai écrite et que l'on peux retrouver ici Procédure de tri - Excel 2003-2010)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub TrieTableau()
     Dim rng As Range, myKey As Variant, row As Long
     Set rng = ThisWorkbook.Worksheets("db").Range("A1").CurrentRegion
     With ActiveCell
      myKey = rng(.row, 1) ' Stock la valeur de l'identifiant unique
     End With
     SortTable rng, "-2" ' Procédure de tri
     row = Application.Match(myKey, rng.Columns(1), 0) ' Cherche la ligne de l'identifiant
     rng.Cells(row, 1).Select ' Sélectionne la cellule où se trouve l'identifiant (1ère colonne) de la cellule qui était active avant le tri   
    End Sub
    Et enfin que se passe t-il si je place mon identifiant dans la colonne "F"?
    Je pense que mon exemple est suffisamment explicite pour que tu puisses le trouver
    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

  5. #5
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut
    Que dois-je modifier si mon ID est une date?

    Je pense pouvoir adapter ta macro à mon cas, mais j'ai une erreur de compatibilité. En effet à chaque ligne créée la date est inscrite, et est forcément différente à chaque fois, puisque les lignes ne sont pas créée au même moment, je suppose que je peux tourner ca à mon avantage et l'utiliser comme ID....

  6. #6
    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 174
    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 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je pense pouvoir adapter ta macro à mon cas, mais j'ai une erreur de compatibilité.
    Si tu n'affiches pas ton code en indiquant la ligne où l'erreur se déclare, il est difficile de t'aider car j'ai oublié ma boule de cristal

    Que dois-je modifier si mon ID est une date?
    Normalement rien puisque dans ma procédure je déclare intentionnellement la variable myKey comme un Variant

    En effet à chaque ligne créée la date est inscrite, et est forcément différente à chaque fois, puisque les lignes ne sont pas créée au même moment, je suppose que je peux tourner ca à mon avantage et l'utiliser comme ID....
    Si tu appelles la procédure (comme je l'ai publiée), elle recalcule à chaque fois la plage de données, cela ne pose donc pas de problème. Tu peux également utiliser un tableau (Insertion/Tableau) qui permet de rendre dynamique une plage de données.
    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

Discussions similaires

  1. Sélection d'une cellule Après la mise a jour
    Par peofofo dans le forum Composants
    Réponses: 8
    Dernier message: 28/06/2011, 14h44
  2. Réponses: 0
    Dernier message: 04/09/2009, 02h08
  3. Sélection d'une cellule après un filtre ?
    Par derin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/10/2008, 15h09
  4. trié un état sur une cellule oui non
    Par nirvana dans le forum IHM
    Réponses: 4
    Dernier message: 05/09/2008, 09h17
  5. Sélection d'une cellule sur une autre feuille
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2008, 10h27

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