Private Sub CommandButton2_Click()
'déclaration des variables
Dim ligDeb As Integer, ligFin As Integer
Dim Lig As Integer, derLig As Integer
Dim wbOutil As Workbook, wsOutil As Worksheet
Dim wbABC As Workbook, wsABC As Worksheet
Dim wbComposant As Workbook, wsComposant As Worksheet
Dim numABC As String, TypeComp As String
Dim cheminComplet As String, chemin As String
'classeur et feuille Outil
Set wbOutil = ThisWorkbook
'chemins des classeurs
cheminComplet = wbOutil.FullName
cheminComplet = Replace(cheminComplet, "" & ActiveWorkbook.Name & "", "")
chemin = ActiveWorkbook.Name
'récupération du numéro de l'ABC
numABC = InputBox("Numéro de l'ABC : ", "Chargement automatique")
'Vérifier que le fichier existe dans le répertoire
If (Dir("" & cheminComplet & "ABC" & numABC & "_MNO.xls") = "") Then
MsgBox "Le fichier ABC" & numABC & "_MNO .xls est introuvable.", vbCritical, "Erreur !"
Exit Sub
Else
'ouvrir le fichier
Workbooks.Open Filename:="" & cheminComplet & "ABC" & numABC & "_MNO.xls"
End If
'classeur et feuille ABC
Set wbABC = ActiveWorkbook
Set wsABC = wbABC.Worksheets("Nomenclature")
'initialisation des variables
ligDeb = 20 'première ligne des feuilles du classeur
ligFin = wsABC.Range("A" & Cells.Rows.Count).End(xlUp).Row 'dernière ligne de la feuille alpha du classeur Outil
For Lig = ligDeb To ligFin
TypeComp = wsABC.Range("L" & Lig)
'si la feuille est déjà ouverte
If ([COLOR="Red"]trouveWS(wbOutil, TypeComp[/COLOR]) = True) Then
[COLOR="red"]Set wsOutil = wbOutil.Worksheets("" & TypeComp & "")[/COLOR]
'ajouter une ligne dans la feuille concernée de l'outil
wsOutil.Activate
Call ajoutLigne
Else
'ouverture du classeur alpha
Set wbComposant = Workbooks.Open("" & cheminComplet & "composants\" & TypeComp & "")
'wsOutil correspond à la première feuille du fichier
Set wsComposant = wbComposant.Worksheets(1)
'coller la première feuille dans le classeur outil et le renommer
wsComposant.Copy after:=Workbooks(chemin).Sheets(2)
wbComposant.Close
ActiveSheet.Name = "" & TypeComp & ""
'copier de l'ABC vers l'outil
wsABC.Range("B" & Lig & ",D" & Lig & ",E" & Lig).Copy
wsOutil.Range("B" & Lig).PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End If
Next
wbABC.Close
End Sub