Sélection de plages de cellules et export vers nouveau fichier excel

oxymore

XLDnaute Nouveau
Bonjour à tous,

Voilà des heures que je cherche comment arriver à mes fins, sans succès...
Je viens donc solliciter votre aide pour le sujet suivant :

J'ai un fichier excel composé d'une dizaine de colonnes, et quelques 4000 lignes. Les colonnes sont fixes, et se suivent (il n'y a pas de colonnes vides).
Elles contiennent des infos classiques du genre "client", "commande", "date", "référence", etc...

Le hic, c'est que 4000 lignes c'est un peu lourd à gérer.

Idée de base : Je souhaiterais créer une macro qui me permettrait de sélectionner toutes les lignes d'un même "client" et de les copier vers un nouveau fichier excel, dont le nom serait celui du "client" sélectionné. Donc un fichier par "client".

Quelques détails : L'idéal serait de créer un dossier contenant tous ces fichiers.
Je pense qu'il faudrait créer une boucle qui vérifie ligne par ligne le nom du client, et :
1/ crée un nouveau fichier si ce client est lu pour la première fois, et ajoute la ligne à ce nouveau fichier
2/ ajoute la ligne si le fichier est déjà créé.

J'ai avancé un petit peu, mais je bloque...
J'ai pu créer la partie "création du dossier", et création d'un nouveau fichier, mais pas plus !

Voici les quelques lignes que j'ai pu coder :

Code:
Sub palett_list()
'
' [ ******** Macro de traitement de la Palett List ********* ]
'
' ETAPE 1 - Mise en forme
' ok, traitée
'
' ETAPE 2 - Tri par "client"
' ok, traitée
'
' ETAPE 3 - Export des lignes par client
'
' 3.1 - Création du dossier avec le nom du voyage
'
Dim oFSO As Scripting.FileSystemObject
Dim oDrv As Drive
Dim oFld As Folder
Dim sNomFichier As String
'Popup - nom du dossier
fldr = InputBox("Enter le numéro du voyage", "Création du dossier dans C:\")
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
'Création du répertoire
Set oFld = oFSO.CreateFolder("c:\" & fldr)
'
'
' 3.2 - Création du fichier
'
'
Dim classeur As Workbook
Dim nom As String

nom = Range("E2") & ".xls"
Set classeur = Application.Workbooks.Add

With classeur
ChDir oFld
ActiveWorkbook.SaveAs Filename:=nom
End With
'
'
' 3.3 Sélection des lignes par exporters
'
'


End Sub

J'espère être assez clair dans mes explications, si ce n'est pas le cas, je peux y remédier :)

Toute aide sera la bienvenue...
Merci merci !
 

Discussions similaires

Réponses
3
Affichages
439

Statistiques des forums

Discussions
314 495
Messages
2 110 215
Membres
110 706
dernier inscrit
debby.f1