Se connecter avec
S'enregistrer | Connectez-vous

Sélection de données après filtre excel et envoi par Outlook

Dernière réponse : dans Programmation

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:
  1. "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:
  1. "Dim Ol As New Outlook.Application
  2. Dim Olmail As MailItem
  3. Dim CurrFile As String
  4. Dim Adresse As String
  5. Set Ol = New Outlook.Application
  6. Set Olmail = Ol.CreateItem(olMailItem)
  7. Adresse = ""
  8. For i = 1 To 65536 Step 1
  9. Range("J3", ActiveCell).Select
  10. 'For Each cell Copy LC(+9)
  11. Adresse = Adresse & " ; " & Cells(i, 18).Value & " ; "
  12. Next i
  13. With Olmail
  14. .To = Adresse
  15. .Subject = ""
  16. .Body = ""
  17. .Display '.Send
  18. 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,
Lassé par la pub ? Créez un compte
Expert Programmation

Second code.

Aère ton code, bon sang. On n'y voit rien !

Ligne 8. Non.
Tu ne veux quand même pas avoir 60000 points-virgules à la suite ?
Ca fait long, surtout vers la fin.

C'est bien SpecialCells(xlCellTypeVisible) qu'il faut utiliser, mais sur la zone de ton filtre.


Ligne 9
:??:  Utilité ?
Lassé par la pub ? Créez un compte