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
| Sheets("publipostage").Select
Sheets("publipostage").Unprotect
Selection.AutoFilter
'filtre sur la colonne initiale
Dim Initiales As String
Columns("C:O").Select
Initiales = Application.InputBox("entrez vos initiales :", "sélection des courriers", Type:=2)
If Initiales = "" Then
Initiales = Application.InputBox("entrez vos initiales :", "sélection des courriers", Type:=2)
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
'filtre sur la colonne commune
Mairie = Application.InputBox("entrez la commune :", "sélection des courriers", Type:=2)
Selection.AutoFilter field:=13, Criteria1:=Mairie
'sélectionnner la dernière case filtrée
Dim j As Integer
Selection.SpecialCells(xlCellTypeLastCell).Activate
j = Selection.Row
'sélectionner les cellules issues du filtre
Dim résultat As Range
For Each résultat In Range("AF2:AF" & j).SpecialCells(xlCellTypeVisible)
If résultat <> "" Then
chaineconcatenée = chaineconcatenée & Chr(10) & résultat.Value
End If
Next
Sheets("Formulaire").Select
Range("B8").Value = chaineconcatenée
End Sub |
Partager