Macro (mac si possible): couper liste
Résolu
TOT127
Messages postés
1045
Statut
Membre
-
Aliboron Martin Messages postés 3661 Date d'inscription Statut Contributeur Dernière intervention -
Aliboron Martin Messages postés 3661 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche un moyen automatique de passer d'un fichier de 15K lignes (des emails en colonne A) à 60 fichiers de 250 lignes (sans doulbons, 1 mail 1 fois, en tout). Je dois faire un envoie d'emails automatiques mais ma liste de 15K est considérée comme spam...
Je voudrais éviter de le faire à la main. Une idée ? merci!
Je cherche un moyen automatique de passer d'un fichier de 15K lignes (des emails en colonne A) à 60 fichiers de 250 lignes (sans doulbons, 1 mail 1 fois, en tout). Je dois faire un envoie d'emails automatiques mais ma liste de 15K est considérée comme spam...
Je voudrais éviter de le faire à la main. Une idée ? merci!
3 réponses
-
Une petite macro en VBA qui devrait permettre de faire ça assez facilement :
Sub Decoupage()
j = 1
For i = 15000 To 0 Step -250
Workbooks("MaListe.xlsx").Worksheets("Feuil1").Range("A1:A5").Cut
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs FileName:="ListeCourte " & j & ".xlsx"
ActiveWorkbook.Close
Workbooks("MaListe.xlsm").Worksheets("Feuil1").Range("A1:A5").Delete
j = j + 1
Next i
End Sub
Il faudra évidemment vérifier à adapter le nom du classeur initial (ici "MaListe.xlsx") et la feuille sur laquelle se trouvent les données (par défaut "Feuil1")
-
-
;) ah, oui, j'ai oublié de corriger sur ce point (j'ai testé avec une version simplifiée). Là où il y a "A1:A5", il faut mettre "A1:A250", bien entendu.
Je vois d'ailleurs que j'ai aussi oublié de corriger l'extension du nom "MaListe.xlsm" en "MaListe.xlsx" la deuxième fois. Probablement est-ce d'ailleurs là qu'est l'origine de l'erreur (ça a toutes les chances de bloquer)...
Pour cette erreur, sinon, il faudrait en dire plus sur le contexte. Déjà la version et le niveau de mise à jour d'Excel ainsi que la version de Mac OS X concernée. Et ensuite à quel "moment" survient l'erreur, quelle est la ligne surlignée en jaune lorsque tu cliques sur "Déboguer",... -
-
-
-
-
code utilisé:
Sub Decoupage()
j = 1
For i = 15000 To 0 Step -250
Workbooks("MaListe.xlsx").Worksheets("Feuil1").Range("A1:A250").Cut
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs FileName:="ListeCourte " & j & ".xlsx"
ActiveWorkbook.Close
Workbooks("MaListe.xlsx").Worksheets("Feuil1").Range("A1:A250").Delete
j = j + 1
Next i
End Sub -
Bonjour,
Faites des envois par paquet de 250 lignes avec une boucle , pas besoin de decouper en 60 fichiers