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 :

concatener des cellules issues d'un filtre


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 29
    Points
    29
    Par défaut concatener des cellules issues d'un filtre
    je craque

    je fais un filtre dans vba, j'obtiens un certain nombre de lignes.
    ensuite je voudrais concatener les cellules d'une des colonnes pour les coller dans une seule cellule d'une autre feuille.

    je sais pas faire.

  2. #2
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut
    essaye ça, à adapter pour ton cas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sub Concatener()
     
        Dim Ligne as Integer
        Dim Chaine_Concatenee as String
        Chaine_Concatenee = ""
        Ligne = La_Premiere_Ligne_A_Concatener
     
        Do while Cells(Ligne,Ta_Colonne) <> Empty
            Chaine_Concatenee = Chaine_Concatenee & " " & Cells(Ligne,Ta_Colonne)
            Ligne = Ligne + 1
        Loop
     
    End Sub

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Au lieu de Empty, utilise SpecialCells(xlCellTypeVisible)
    Un ligne masquée par un filtre n'est pas vide
    Juste pour le principe de lecture de lignes filtrées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub LireLignesFiltrées()
    For Each Cell In Range("A:A").SpecialCells(xlCellTypeVisible)
             msgbox Cell.value
    Next
    Pour concaténer, mordrhim t'a donné le code
    A+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    je ne dois pas être très réveillé mais je ne comprends pas grand chose

    j'y arrive pas

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Mets ton code, sinon on va continuer à jouer aux devinettes... et des fois, ça peut durer longtemps
    A+

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    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
    Sub Macro7()
    
    Sheets("publipostage").Select
    Sheets("publipostage").Unprotect
    'filtre sur la colonne initiale
    Dim Initiales As String
        Columns("C:D").Select
        Initiales = Application.InputBox("entrez vos initiales :", "sélection des courriers", Type:=2)
        If Initiales = "" Then
            MsgBox "vous avez choisi de ne pas filtrer sur les initiales"
            End
          Else
            Selection.AutoFilter Field:=1, Criteria1:=Initiales
        End If
        'filtre sur la colonne N° courrier
    Dim Borneinf As Integer
    Dim Bornesup As Integer
        Borneinf = Application.InputBox("Entrez le premier courrier", "Sélection des courriers", Type:=1)
        Bornesup = Application.InputBox("Entrez le dernier courrier", "sélection des courriers", Type:=1)
        Selection.AutoFilter Field:=2, Criteria1:=">=" & Borneinf, Operator:=xlAnd, Criteria2:="<=" & Bornesup
        'j'en suis là maintenant je voudrais concatener les cellules visibles
        'pour les coller dans un autre cellule.
             
    End Sub







    (Coloration syntaxique automatique par Kenji)

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub LireLignesFiltrées()
    Dim cell as range
    For Each Cell In Range("A:A").SpecialCells(xlCellTypeVisible)
             if cell <> "" then Chaine_Concatenee = Chaine_Concatenee & Cell.value
    Next
    Tu l'avais, la réponse

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] concatener des cellules excel
    Par beautiful soul dans le forum Excel
    Réponses: 12
    Dernier message: 06/05/2012, 12h37
  2. [XL-2002] Concatener des cellules non vides pour faire liste d'envoi mail
    Par tchoutchou69 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/11/2011, 11h38
  3. Réponses: 2
    Dernier message: 28/09/2011, 11h09
  4. [AC-2010] Concatener des cellules dans le but d'exporter les données
    Par louaf dans le forum VBA Access
    Réponses: 18
    Dernier message: 17/08/2011, 23h40
  5. Réponses: 12
    Dernier message: 19/06/2008, 12h10

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