[VBA-E] Connaitre le nom d'un classeur
Bonjour, j'ai un problème avec une macro que je n'arrive pas à résoudre.
Ma macro, contenu dans le classeur liste, sur certains événements m'ouvre un autre classeur, contenant également une macro qui modifie le nom de ce dernier.
Je n'arrive pas a récupérer le nom du fichier ouvert avec ma macro et le mettre dans une cellule du premier fichier.
Voici le code des deus macros
d'abord celui contenu dans le classeur liste
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RNCName As String
If Target.Column = 2 Then
Select Case Target
Case "RNC"
Workbooks.Open ("\\Qualite\d\Holdry\RNC\RNC_nouvelle\RNC_auto.xls")
Application.Wait Now + TimeValue("0:0:5")
RNCName = ActiveWorkbook.GetOpenFilename
ThisWorkbook.Worksheets(1).Activate
Range(ActiveCell, ActiveCell).Offset(0, 1).Value = RNCName
Case "DAC"
Workbooks.Open ("\\Qualite\d\Holdry\DAC\DAC_nouvelle\DAC_auto.xls")
Case "DAP"
Workbooks.Open ("\\Qualite\d\Holdry\DAC\DAC_nouvelle\DAC_auto.xls")
End Select
ElseIf Target.Column = 8 Then
Select Case Target
Case "DAC"
Workbooks.Open ("\\Qualite\d\Holdry\DAC\DAC_nouvelle\DAC_auto.xls")
End Select
End If
End Sub |
et celle contenue dans le deuxième classeur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
Sub WorkBook_open()
Dim ClaSseurRésultats As Workbook
Dim Racine As String, Répertoire As String, ModèleRNC As String
Dim NomFichier As String, DerNuméro As String
Dim Numéro As Long, NbChiffres As Integer, Longueur As Integer
Répertoire = "\\Qualite\D\Holdry\RNC\RNC_nouvelle"
Racine = "RNC_0"
NbChiffres = 5
Longueur = Len(Racine) + NbChiffres + Len(".xls")
ModèleRNC = Répertoire & "\RNC_source.xlt"
DoEvents
Set classeurprojet = ThisWorkbook.Worksheets
Numéro = 0
NomFichier = Dir(Répertoire & "\" & Racine & "*.xls", vbNormal)
Do
DerNuméro = Mid(NomFichier, Len(Racine) + 1, NbChiffres)
If IsNumeric(DerNuméro) And Len(NomFichier) = Longueur Then
If Val(DerNuméro) >= Numéro Then Numéro = Val(DerNuméro) + 1
End If
NomFichier = Dir
Loop Until Len(NomFichier) = 0
Set ClaSseurRésultats = Workbooks.Add(ModèleRNC)
ClaSseurRésultats.Activate
Cells(1, 47).Value = "0" & Right("00000" & Numéro, 5)
ClaSseurRésultats.SaveAs (Répertoire & "\RNC_0" & Right("0000" & Numéro, 5))
ThisWorkbook.Activate
Application.DisplayAlerts = False
ThisWorkbook.Close
End
Application.DisplayAlerts = True
End Sub |
Merci d'avance