Ouvrir plusieurs fichiers d'un dossier et y supp. des lignes

moseca Messages postés 37 Statut Membre -  
Le Pingou Messages postés 12644 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais une macro qui ouvrent chaque fichier d'un dossier et supprime les ligne selon une condition (valeur de la colonne A = X) puis les referme. J'ai une macro qui ouvre les fichiers mais ne fait aucune action, les lettre X ne sont pas enlevées.

Voici la macro :

Sub Suppression_dones_boucles()
'


Dim ClasseurSource As Workbook
Set ClasseurSource = ThisWorkbook

Dim N As Name
Dim i As Long

Dim chemin As String
chemin = "C:\Users\*.*"

ChDir chemin
RetVal = Application.Dialogs(xlDialogOpen).Show(chemin & "\*.*")
'ouverture de la boite de dialogue
'Ce bout de code sert à montrer à la macro le chemin du dossier des fichiers
If RetVal = True Then Exit Sub 'Pressez "annuler" si le chemin est CORRECT


' Turn off screen updating.
Application.ScreenUpdating = False

'Y a t'il des fichiers dans le répertoire ?

If Dir(chemintypedonnees) <> "" Then
ClasseurSource.Activate

'Gérer le répertoire de fichiers excel
fichier = Dir(chemintypedonnees)
Do While fichier <> ""
Set wbsource = Workbooks.Open(fichier) 'open the file
'activation de la première feuille du fichier excel. Cela peut etre modifié
Sheets(1).Activate

Worksheets(1).Activate

End Sub
For i = 20 To 2 Step -1

If Cells(i, 1).Value = "X" Then


Rows(i).EntireRow.Delete


End If

Next j
Next i

Application.Calculation = xlCalculationAutomatic





'***************************************************
wbsource.Close True 'close the current source file and save
fichier = Dir 'go to next file in the directory
Loop 'restart the process with next file

Else
Application.ScreenUpdating = True
MsgBox "Aucun fichier présent!!!"
Exit Sub
End If

Application.ScreenUpdating = True
A voir également:

3 réponses

Le Pingou Messages postés 12644 Date d'inscription   Statut Contributeur Dernière intervention   1 463
 
Bonjour,
Il me semble que l'instruction [End Sub] n'est pas au bonne emdroit:

Worksheets(1).Activate

End Sub
For i = 20 To 2 Step -1

If Cells(i, 1).Value = "X" Then
0
moseca Messages postés 37 Statut Membre
 
Bonjour,

C'est une erreur de ma part, lorsque je copiais la macro, mais ce n'est pas ça le problème.
En mettant le End Sub à la toute fin de la macro, le problème demeure.

Merci.
0
Le Pingou Messages postés 12644 Date d'inscription   Statut Contributeur Dernière intervention   1 463
 
Bonjour,
Ou avez-vous mis le End Sub ?
Merci de poster le code complet en utilisant la balise ; exemple
Sub Suppression_dones_boucles()
Dim ClasseurSource As Workbook
Set ClasseurSource = ThisWorkbook

Dim N As Name
Dim i As Long
Dim chemin As String
chemin = "C:\Users\*.*"
ChDir chemin
RetVal = Application.Dialogs(xlDialogOpen).Show(chemin & "\*.*")
'ouverture de la boite de dialogue
'Ce bout de code sert à montrer à la macro le chemin du dossier des fichiers
If RetVal = True Then Exit Sub 'Pressez "annuler" si le chemin est CORRECT


' Turn off screen updating.
Application.ScreenUpdating = False

'Y a t'il des fichiers dans le répertoire ?

0