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 :

VBA- Boucle de tri "Contient" à partir des valeurs d'une plage de cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut VBA- Boucle de tri "Contient" à partir des valeurs d'une plage de cellules
    Bonjour à tous,

    je vous sollicite en ce dimanche pluvieux après avoir passé plusieurs heures sur des forums. Je cherche à trier automatiquement une plage de valeurs en fonction du critère "contient".

    Si par exemple les valeurs de ma colonne A contiennent "poire", je veux copier ces valeurs (+les valeurs associées en colonne B et C), et les reporter dans un autre onglet Résultat. Ensuite, même opération pour les valeurs contenant "banane", et ainsi de suite.

    En fait, comme je connais le nombre de critères "contient" à renseigner (on va dire ici qu'il n'y en a que trois: poire, banane, tomate), je pourrais écrire les opérations à la suite mais ça ne me semble pas optimisé et je suis presque sûre qu'on peut faire une boucle -mais comment ? je débute totalement en VBA mais j'aimerais m'améliorer ..

    F3:F5 feuille "Valeurs" ce sont les critères servant à trier les valeurs en colonne A à C. "Résultats", c'est là où je recopie les valeurs concernées (il faudrait que je puisse faire un décalage avec offset pour ne pas tout recopier au même endroit)


    Voilà dites-moi si c'est confus... Je joins mon fichier avec mon début de macro, et j'attends impatiemment toutes vos remarques

    Merci beaucoup !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    déjà sans boucle via un filtre ou encore un filtre avancé

    Rappel :

    Important : Fichiers joints dans les discussions

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut
    "déjà sans boucle via un filtre"? Cela signifie que ma demande de base est impossible ?

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut
    A vrai dire je suis en train d'essayer le filtre avancé mais ça m'embrouille encore plus ^^ je ne sais pas comment lui faire comprendre qu'il doit travailler sur chaque critère l'un après l'autre...

  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 175
    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 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    A vrai dire je suis en train d'essayer le filtre avancé mais ça m'embrouille encore plus ^^ je ne sais pas comment lui faire comprendre qu'il doit travailler sur chaque critère l'un après l'autre...
    Ce que tu veux faire est donc de placer sur plusieurs onglets suivant critères soit un onglet avec les lignes dont les cellules de la colonne A contiennent Poire et ensuite banane, etc.
    La fonction permettant de savoir si une cellule contient un mot est CHERCHE ou TROUVE. L'une est sensible à la casse, l'autre pas.
    Le critère a utiliser est donc un critère nommé (ou calculé) et il faut donc préparer une boucle juste pour le critère et appliquer ensuite le filtre avancé d'excel

    Exemple du critère calculé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ESTNUM(CHERCHE("poire";A)
    Tu peux t'inspirer de ce lien qui exporte dans une feuille séparée une liste de données ayant en colonne A le nom de différents services d'une entreprise et dans les autres colonnes d'autres données. L'idée est d'envoyer un classeur contenant une feuille à chacun des services concernés avec les données qui lui sont propres
    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
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par Greenseed Voir le message
    "déjà sans boucle via un filtre"? Cela signifie que ma demande de base est impossible ?
    Non, cela signifie juste la boucle est inutile via Excel et ce, même en VBA.
    (Et au passage je ne vois pas de rapport avec le tri évoqué dès le titre et la présentation de cette discussion,
     un tri n'ayant jamais besoin de boucle …)

    A moins que la destination soit différente entre chaque produit,
    dans ce cas voici un exemple via un simple filtre (et non un tri) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Demo1()
             Feuil2.UsedRange.Clear
        With Feuil1.Cells(1).CurrentRegion
            For R& = 2 To .Cells(.Rows.Count, 6).End(xlUp).Row
                .Columns(1).AutoFilter 1, "*" & .Cells(R, 6).Value & "*"
                .Copy Feuil2.Cells(1 + 4 * (R - 2))
            Next
                .Columns(1).AutoFilter
        End With
    End Sub
    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2007, 11h49
  2. [VBA-E] Effacer les valeurs d'une plage de cellules
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/06/2006, 11h07
  3. Réponses: 1
    Dernier message: 23/01/2006, 18h53

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