Macro 2010 qui ne marche pas dans 2013
Bonjour,
J'ai une macro que j'ai réalisé dans excel 2010 et qui quand je veux l'utiliser dans excel 2013 sur le poste d'un collègue ne fonctionne plus.
Le code erreur indique qu'il ne trouve pas le fichier.
Je pense qu'il s'agit d'un problème dans le chemin d'accès au fichier. Il y a t'il une différence à ce niveau entre Excel 2010 et 2013, car cela marche parfaitement dans Excel 2010.
Le chemin d'accès est en dur dans ma feuille excel dans la cellule A5 et le nom de fichier est lui dans un menu déroulant de la cellule C7.
Voici mon code
Private Sub CommandButton4_Click()
'
' Remplacer_donnéesBF17 Macro_essais_rep_etnom_ds_celulles
'
'
Sheets("Données BF17").Select
Sheets("Données BF17").Name = "OldDonnées BF17"
ChDir Trim(CStr(Range("A5")))
Workbooks.Open Filename:=Trim(CStr(Range("C7")))
Sheets("Page1_1").Select
Sheets("Page1_1").Copy Before:=Workbooks( _
"Fichier de préparation du budget.xlsm").Sheets(1)
Sheets("Page1_1").Select
Sheets("Page1_1").Name = "Données BF17"
Sheets("Macros").Activate
End SubEn vous remerciant,
Pour votre aide,
Cordialement,
JBB
Bonjour JBB
Si A5 contient le chemin et C7 le nom du fichier,
Essaye ceci
Private Sub CommandButton4_Click()
Dim sPath As String, sFic As String
'
' Remplacer_donnéesBF17 Macro_essais_rep_etnom_ds_celulles
'
'
With Sheets("Données BF17")
.Activate
.Name = "OldDonnées BF17"
sPath = .Range("A5").Value
If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sFic = Trim(.Range("C7").Value)
End With
Workbooks.Open Filename:=sPath & sFic
Sheets("Page1_1").Copy Before:=Workbooks("Fichier de préparation du budget.xlsm").Sheets(1)
Sheets("Page1_1").Name = "Données BF17"
Sheets("Macros").Activate
End SubA+
BrunoM45 a écrit :Bonjour JBB
Si A5 contient le chemin et C7 le nom du fichier,
Essaye ceci
Private Sub CommandButton4_Click() Dim sPath As String, sFic As String ' ' Remplacer_donnéesBF17 Macro_essais_rep_etnom_ds_celulles ' ' With Sheets("Données BF17") .Activate .Name = "OldDonnées BF17" sPath = .Range("A5").Value If Right(sPath, 1) <> "\" Then sPath = sPath & "\" sFic = Trim(.Range("C7").Value) End With Workbooks.Open Filename:=sPath & sFic Sheets("Page1_1").Copy Before:=Workbooks("Fichier de préparation du budget.xlsm").Sheets(1) Sheets("Page1_1").Name = "Données BF17" Sheets("Macros").Activate End SubA+
Bonjour BrunoM45 et Merci.
J'ai un message d'erreur qui indique : Erreur d'exécution '1004':
'mois en cours :\.xlsx' introuvable ....
J'ai l'impression que c'est parce que ton adressage (celulle C7 et A5) ne pointe pas vers ma feuille "Macros" mais vers la feuille "OlddonnéesBF17". En effet dans cette feuille en A5 j'ai un texte : "mois en cours:"
Il faut donc déclarer quelques part que l'adressage est dans la feuille "Macros".
Peux tu m'aider ?
En te remerciant,
JBB