Erreur #REF lors du changement du chemin vers le fichier source
Bonjour à tous ,
je suis nouveau sur ce forum où j'espère trouver une solution à mon petit problème :
à l’exécution de cette macro ,j'obtiens l'erreur #REF dans toutes le cellules de destination .
j'ai testé sur un fichier source enregistré sur le bureau ça a marché correctement ,mais quand j'ai essayé de l'adapter à la réalité en lui indiquant le vrai chemin (indiqué dans le code ci dessous) ça ne veut plus fonctionner ,
à noter que :
(les fichiers source changent chaque semaine avec création d'un nouveau classeur,les classeurs sont nommés : "semaine_1.xls", "semaine_2.xls" ,"semaine_3.xls" etc... ,et la feuille source de chaque classeur porte toujours le même nom )
les classeurs sont dans un dossier appelé "2018", qui est dans un autre dossier "B" qui est dans un dossier "A" en réseau .
Le 1 er fichier source de test qui à fonctionné lui était directement dans le bureau et le chemin que j'avais indiqué était "C:\Users\sweet\Desktop\" et son extension est en .xlsx
Le problème ne vient il pas dans la formule surlignée dans le code ?
ou peut être du fait que c'est en réseau ?ou de l’extension du fichier qui est différente ?
Merci par avance de votre aide .
[code]Public Sub Nouvelle_semaine()
Dim WB As Workbook
Dim destCellule As Range
Dim destRng As Range
Dim Res As Long
Dim iCurrentWeekNum As Long
Dim iSemaine As Long
Const sFeuilSource As String = "MA FEUILLE SOURCE"
Const sFeuilDestination As String = "MA FEUILLE DE DESTINATION"
Const sCelluleDestination As String = "A1"
Const sPlageDestination As String = "A1:Z1"
Const sChemin As String = _
"L:\Dossier_A\Dossier B\2018\"
iCurrentWeekNum = Application.WeekNum(Date)
Res = Application.InputBox( _
prompt:="Insert week number" _
& vbNewLine _
& "(Actual week number: " _
& iCurrentWeekNum & ")", _
Default:=iCurrentWeekNum, _
Type:=1, _
Title:="Week number ?")
If Res >= 1 And Res <= 53 Then
Set WB = ThisWorkbook
With WB
Set destSH = .Sheets(sFeuilDestination)
End With
With destSH
Set destCellule = .Range(sCelluleDestination)
Set destRng = .Range(sPlageDestination)
End With
With destCellule
.FormulaR1C1 = "='" & sChemin & "[semaine_ " _
& Res & ".xls]Feuil1'!RC"
.Copy
End With
destRng.PasteSpecial _
Paste:=xlPasteFormulas, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
End Sub
Bonjour,
est ce que les 2 fichiers sont ouvert ?
Bonjour,
Dans ton nom de classeur y a t'il bien un espace entre "semaine_" et le numéro de la semaine (Res) ? semaine_ "
Bonjour à vous deux ,merci de m avoir répondu,
Les deux fichiers sont ouverts,mais ça devrait marcher même la source étant fermée.et c est le but d ailleurs
Concernant la deuxième question ,il n' y pas d espace et je pense que c est là d où vient l erreur ,car là où ça a marché le nom du fichier source est écrit "semaine 23" et là où ça n'a pas marché le nom du fichier source est écrit "semaine_23" .
Je crois que c'est là que je dois réadapter le code non ?
Je ne dois pas mettre ça "_" entre guillemets dans la formule?
FormulaR1C1sChemin & "[semaine_ " _
& Res & ".xls]Feuil1'!RC"
Est ce que cette correction et bonne ?
FormulaR1C1 = "='" & sChemin & "[semaine_" _
& Res & ".xls]Feuil1'!RC"
Corrigez moi si je me trompe
Cordialement.
Bonjour
j'ai remarqué dans la cellules de destination que la formule écrite à l’exécution de la macro c'est :
='C:\Dossier_Test\Planning TEST\[2018[semaine_24.xlsx]Feuil1]Feuil1]2018[semaine_3.xlsx]Feui'!A1
au lieu de
='C:\Dossier_Test\Planning TEST\2018\[semaine_24.xlsx]Feuil1'!A1
Quelqu’un peut me dire pourquoi s'il vous plait ?