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.
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.
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
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
Pour concaténer, mordrhim t'a donné le code
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
A+
je ne dois pas être très réveillé mais je ne comprends pas grand chose
j'y arrive pas
Mets ton code, sinon on va continuer à jouer aux devinettes... et des fois, ça peut durer longtemps
A+
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)
Tu l'avais, la réponse
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
Merci beaucoup
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager