Bonjour tout le monde,
Je suis débutant sur la programmation Excel.
J'ai un petit problème sur VBA depuis pas mal de temps que je souhaiterai résoudre.
Sur mon fichier Excel, dans la première page appelée "distributeurs", j'ai créé un filtre manuel dans l'onglet "donnée" d'Excel 2007.
Dans un premier temps, à partir de ce filtre, je souhaiterai avec une macro sélectionner uniquement les données affichées à l'écran par le filtre et les copier. J'ai déja essayé avec la fonction suivante:
"For Each cell In ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)"
mais cela n'a pas fonctionné et à pris l'ensemble des données du tableur Excel y compris celles qui n'entraient pas dans le filtre.
Ensuite avec les adresses Internet sélectionnées et copiées, j'ai l'intention de faire un mailing.
Voici ce que j'ai réalisé, je crois que c'est correct:
"Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String
Dim Adresse As String
Set Ol = New Outlook.Application
Set Olmail = Ol.CreateItem(olMailItem)
Adresse = ""
For i = 1 To 65536 Step 1
Range("J3", ActiveCell).Select
'For Each cell Copy LC(+9)
Adresse = Adresse & " ; " & Cells(i, 18).Value & " ; "
Next i
With Olmail
.To = Adresse
.Subject = ""
.Body = ""
.Display '.Send
End With
Si quelqu'un pouvait m'aider pour sélectionner les cellules filtrées et réussir à les copier également, je lui en serai reconnaissant.
Merci d'avance,