Bonjour à tous,
Dans le cadre de préparations de données avant analyses statistiques, je cherche à développer une macro qui:
1)Compile plusieurs .csv en un seul (déjà trouvé)
2)Supprime les 2 premières colonnes / ou ne conserve que la troisième.
3)Supprime les lignes contenant des cellules avec du texte. (Si cette fonction générale est trop complexe, les lignes que je souhaite supprimer à cette étape sont remplies avec "Load" ou "(N)".)
Les tableaux sur lesquels je travaille sont constitués de plusieurs milliers de lignes, et cette opération est à répéter 60x. Vous comprendrez bien que si je peux me réduire à "seulement" faire tourner cette macro 60x, ce sera pour moi un pas de géant!Bien que programmant un peu avec Matlab, je suis au niveau zéro de la programmation sur Excel..
Voici ci dessous la macro que j'ai pu trouver pour réaliser la tâche n°1, quelqu'un aurait il une idée de comment la compléter pour réaliser les tâches 2) et 3)?
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub Compilation() Dim Temp As String Dim Ligne As Long Temp = Dir(ActiveWorkbook.Path & "\*.csv") Application.DisplayAlerts = False Do While Temp <> "" If Temp <> "Recap.xls" Then Workbooks.Open ActiveWorkbook.Path & "\" & Temp Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy Workbooks("Recap.xls").Sheets(1).Activate Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1 Range("A" & CStr(Ligne)).Select ActiveSheet.Paste Workbooks(Temp).Close End If Temp = Dir Loop Range("A1").Select Application.DisplayAlerts = True End Sub![]()
Partager