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 :

Filtrer chaque élément d'une liste


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Par défaut Filtrer chaque élément d'une liste
    Bonjour

    Je cherche a optimiser une macro que j'ai fait.

    Celle ci me sert a créer des fichiers d'écriture en CSV pour les intégrer dans un logiciel.

    Mon fichier génère un groupe d'écriture qu'il faut scinder en fonction de la société (colonne N). En fonction de la date, cette liste de société est variable.

    Voici ce que j'utilise :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Sub ECRITURE_CSV()
     
    ' Ecriture CSV
            Sheets("ECRITURE").Activate
            DerniereLigne = ActiveSheet.UsedRange.Rows.Count
            Range("A1:N" & DerniereLigne).Copy
            Workbooks.Add
            Range("A1").Select
            ActiveSheet.Paste
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Range("A1").Select
     
     
     
     
     
        'nom du fichier
     
     
     
            Dim stDateHeureExport As String
            stDateHeureExport = "_" & _
            Format(Now, "dd-mm-yyyy" & " à " & _
    "hh""h""mm""'""ss""''""")
     
            Dim Libelle As String
            Libelle = InputBox("Libelle ?", "Titre") 'La variable reçoit la valeur entrée dans l'InputBox
            If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
            MsgBox resultat
            End If
     
     
     
     
     
    'AA
            Sheets("Feuil1").Select
            Range("A1:N1").Select
            Selection.AutoFilter
            Selection.AutoFilter Field:=14, Criteria1:="AA"
            DerniereLigne = ActiveSheet.UsedRange.Rows.Count
            Range("A1:N" & DerniereLigne).Copy
        'ouverture du classeur
            Workbooks.Add
            Range("A1").Select
            ActiveSheet.Paste
     
    Site = Range("N2").Value
            NomCompletFichier = Libelle & "_" & Site & "_" & stDateHeureExport
     
            chemin = "Z:\Service Support\Comptabilité\Z_FICHIER IMPORTATION CSV\"
     
            ActiveWorkbook.SaveAs Filename:=chemin & NomCompletFichier, FileFormat:=xlCSV, local:=True
     
            ActiveWorkbook.Close SaveChanges:=False
     
    'BB
            Sheets("Feuil1").Select
            Range("A1:N1").Select
            Selection.AutoFilter
            Selection.AutoFilter Field:=14, Criteria1:="BB"
            DerniereLigne = ActiveSheet.UsedRange.Rows.Count
            Range("A1:N" & DerniereLigne).Copy
        'ouverture du classeur
            Workbooks.Add
            Range("A1").Select
            ActiveSheet.Paste
     
        'nom du fichier
     
     Site = Range("N2").Value
             NomCompletFichier = Libelle & "_" & Site & "_" & stDateHeureExport
     
            chemin = "Z:\Service Support\Comptabilité\Z_FICHIER IMPORTATION CSV\"
     
            ActiveWorkbook.SaveAs Filename:=chemin & NomCompletFichier, FileFormat:=xlCSV, local:=True
     
            ActiveWorkbook.Close SaveChanges:=False
     
    ...
     
    End Sub
    Ceci me permet d'avoir un fichier CSV par société (AA - BB...)

    Ce qui j'imagine :

    Copier coller ma colonne N (société) a un endroit, supprimer les doublons.
    ensuite, venir chercher le "Criteria1" dans cette liste et pour chaque critère générer le fichier CSV.

    Je pense qu'il faut faire un truc pour compter le nombre de critère et ensuite faire une boucle. mais j'y arrive pas

    Je vous remercie d'avance pour votre aide.

    Bonne journée,

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Par défaut
    Bonjour,

    Personne à répondu à mon message, je me demande pourquoi?

    - Il n'y a pas de solution, ce que je souhaite faire est pas possible?
    ou
    - J'ai mal expliqué mon besoin?

    Merci à vous.

  3. #3
    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à pour copier et supprimer les doublons il suffit d'un filtre avancé



    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

Discussions similaires

  1. créer une hashmap pour chaque élément d'une liste
    Par lealeblanc dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/05/2015, 16h23
  2. [MySQL] Filtrer des éléments d'une liste selon plusieures valeurs d'un champ d'une table bdd
    Par amdawb dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 08/02/2015, 15h59
  3. [AC-2003] Sortir un pdf pour chaque élément d'une liste déroulante
    Par Malela dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/07/2012, 20h04
  4. [2.x] [Twig] Ajout de case à cocher pour chaque élément d'une liste
    Par katcha95 dans le forum Symfony
    Réponses: 5
    Dernier message: 16/12/2011, 11h39
  5. FAQ : Comment alterner les couleurs de chaque élément d'une liste déroulante ?
    Par yoghisan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/06/2007, 14h15

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