Lhomheureux
XLDnaute Nouveau
Bonjour à tous.
J'aimerais que vous m'aidiez à corriger quelques lignes de mon code. J'ai essayé mais je n'y arrive pas.
Sub SelectionFeuilleCorrespondante()
'0- Déclaration des variables
Dim Feuil As Worksheet
Dim i As Integer
Dim NomFeuil As String
Dim FichierDefaillant As String
Dim FichierEncaissement As String
Dim WBKSource1 As Workbook
Dim WBKSource2 As Workbook
'1- Sélection de la première feuille du classeur CLIENTS
For i = 3 To Sheets.Count 'décompte des feuilles dans CLIENTS
ActiveWorkbook.Sheets(i).Select 'SOUCIS : la sélection de la feuille (i) ne se fait pas à partir de la feuille 3 mais de la feuille active du classeur.
'Comment faire pour que se soit la première feuille (la feuille 3) qui soit sélectionné en premier ?
NomFeuil = ActiveSheet.name
Range("A1:A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.UnMerge
Range("B4").Select
'2- Ouverture du classeur ENCAISSEMENT
Workbooks.Open (FichierEncaissement)
'ERREUR A CORRIGER: Si la feuille recherché n'existe pas dans le classeur ENCAISSMENT
'on poursuit la procédure en recommençant sur une autre feuille(i) au point 1 du classeur CLIENT
ActiveWorkbook.Sheets(NomFeuil).Select 'choisir la feuille qui a le même nom que celle sélectionnée dans CLIENTS
Range("A1").CurrentRegion.Select
Selection.Copy
'3- Ouvrir le classeur CLIENTS et copie des données
WBKSource2.Activate
Sheets(NomFeuil).Select
Range("B4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(3, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveCell.CurrentRegion.RemoveDuplicates Columns:=2, Header:=xlYes
Selection.AutoFilter
Next
End Sub
PS : Désolé, je ne sais pas copier-coller pour que cela apparaisse ici comme dans la feuille de code du VBA excel, avec les couleurs et tout.
J'aimerais que vous m'aidiez à corriger quelques lignes de mon code. J'ai essayé mais je n'y arrive pas.
Sub SelectionFeuilleCorrespondante()
'0- Déclaration des variables
Dim Feuil As Worksheet
Dim i As Integer
Dim NomFeuil As String
Dim FichierDefaillant As String
Dim FichierEncaissement As String
Dim WBKSource1 As Workbook
Dim WBKSource2 As Workbook
'1- Sélection de la première feuille du classeur CLIENTS
For i = 3 To Sheets.Count 'décompte des feuilles dans CLIENTS
ActiveWorkbook.Sheets(i).Select 'SOUCIS : la sélection de la feuille (i) ne se fait pas à partir de la feuille 3 mais de la feuille active du classeur.
'Comment faire pour que se soit la première feuille (la feuille 3) qui soit sélectionné en premier ?
NomFeuil = ActiveSheet.name
Range("A1:A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.UnMerge
Range("B4").Select
'2- Ouverture du classeur ENCAISSEMENT
Workbooks.Open (FichierEncaissement)
'ERREUR A CORRIGER: Si la feuille recherché n'existe pas dans le classeur ENCAISSMENT
'on poursuit la procédure en recommençant sur une autre feuille(i) au point 1 du classeur CLIENT
ActiveWorkbook.Sheets(NomFeuil).Select 'choisir la feuille qui a le même nom que celle sélectionnée dans CLIENTS
Range("A1").CurrentRegion.Select
Selection.Copy
'3- Ouvrir le classeur CLIENTS et copie des données
WBKSource2.Activate
Sheets(NomFeuil).Select
Range("B4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(3, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveCell.CurrentRegion.RemoveDuplicates Columns:=2, Header:=xlYes
Selection.AutoFilter
Next
End Sub
PS : Désolé, je ne sais pas copier-coller pour que cela apparaisse ici comme dans la feuille de code du VBA excel, avec les couleurs et tout.