Macro pour lien relatif
Bonsoir a tous
J'ai actuellement une macro qui marche tres bien sur mon ordinateur, mais en donnant mon fichier a d'autre personne, ma macro ne fonctionne plus car le chemin était avec le chemin de direction de mon ordinateur.
Voici ma macro qui marche sur mon ordinateur:
Sub Macro2()
'
' Macro2 Macro
'
'
Sheets("Logitram").Select
ActiveSheet.Buttons.Add(606.75, 318.75, 82.5, 33.75).Select
Sheets("Logitram").Copy
ChDir "C:\Users\pascal\Desktop\OfficeBuilder"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\pascal\Desktop\OfficeBuilder\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
ActiveWorkbook.Save
ActiveWindow.Close
End Subc'est cela qui ne marche plus
ChDir "C:\Users\pascal\Desktop\OfficeBuilder"
et j'aimerais un lien relatif dans ce type allant directement dans ce fichier "OfficeBuilder" qui se trouve sur le bureaux de toutes mes autres personnes
Je pense que je devrais aussi modifier cette ligne
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\pascal\Desktop\OfficeBuilder\logitram.xls", FileFormat:=xlExcel8, _
mais la cela devrais etre certainement a peu pres la meme syntaxe que mon probleme plus haut.
d'avance je remercie les personne qui me trouverais cette solution qui est possiblement pas grand chose, mais je débute un peu dans la petite programmation VBA
Bonjour
Pas tester
En surligné les ajouts
En surligné les retraits
Sub Macro2()
'
' Macro2 Macro
'
Dim Chemin As String
Chemin = "C:\Users\" & "Le Nom Qui Va Bien" & "\Desktop\OfficeBuilder"
Sheets("Logitram").Select
ActiveSheet.Buttons.Add(606.75, 318.75, 82.5, 33.75).Select
Sheets("Logitram").Copy
[surligner=#FFFF80]'ChDir "C:\Users\pascal\Desktop\OfficeBuilder"
ChDir Chemin
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
[surligner=#FFFF80]' ActiveWorkbook.SaveAs Filename:= _
"C:\Users\pascal\Desktop\OfficeBuilder\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
ActiveWorkbook.Save
ActiveWindow.Close
End SubMerci Banzai64, je viens de tester et j'ai encore un bug et cela coince a partir de la ligne surligner
Sub Macro2()
'
' Macro2 Macro
'
'Dim Chemin As String
Chemin = "C:\Users\" & "Le Nom Qui Va Bien" & "\Desktop\OfficeBuilder"
Sheets("Logitram").Select
ActiveSheet.Buttons.Add(606.75, 318.75, 82.5, 33.75).Select
Sheets("Logitram").Copy
ChDir Chemin
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Bonjour
Dans la partie
Chemin = "C:\Users\" & "Le Nom Qui Va Bien" & "\Desktop\OfficeBuilder"il faut remplacer "Le Nom Qui Va Bien" par le nom qui va bien (c'est à dire par "pascal") ou par un autre nom
Je n'ai que supposer qu'en changeant cette variable cela permettrait d'accéder au bon endroit en fonction de la personne
Mais c'est sur ne connaissant l'architecture de tes dossiers ce n'est qu'une idée
Désolé si cela ne fonctionne pas
Peut-être que j'ai lu la question un peu vite
Merci pour ta réponse mais ma macro fonctionnais bien, mais effectivement quand je la passe a quelqu'un d'autre il faut faire la modification, dans la macro.
Le problème est que les personnes a qui je fait ces développement ne savent pas modifier les macros et ne s'y connaisse pas en informatique donc je pensais qu'il y avait une formule magique qui a partir du moment ou je me trouve dans mon dossier avec les bon fichier, je pouvais faire une macro avec des référence relative n’ayant pas besoin de connaitre tous le chemin depuis le lecteur.
J'ai bien une solution de faciliter c'est de mettre mon dossier a la racine de C, mais ça s'est trop facile.......
Merci quand meme
Le "nom qui va bien" c'est pas l'identifiant windows des fois ?
Sinon : environ("username") et s'est gagné ...^^
A tester peut-être (surement !^^) !
je vais tester sur ma macro en remplacant mon nom par username, et vous revient la dessus
merci
J'ai fait je pense comme Plop m'a mentionné soit:
Sub Macro2()
'
' Macro2 Macro
'
'
Sheets("Logitram").Select
ActiveSheet.Buttons.Add(606.75, 318.75, 82.5, 33.75).Select
Sheets("Logitram").Copy
ChDir "C:\Users\username\Desktop\OfficeBuilder"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\username\Desktop\OfficeBuilder\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Et cela ne marche toujours pas
Bonsoir
Il faut inclure la variable dans la construction du chemin
Sub Macro2()
'
' Macro2 Macro
'
Dim Chemin As String
Chemin = "C:\Users\" & Environ(UserName) & "\Desktop\OfficeBuilder"
Sheets("Logitram").Select
ActiveSheet.Buttons.Add(606.75, 318.75, 82.5, 33.75).Select
Sheets("Logitram").Copy
ChDir Chemin
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\logitram.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
ActiveWorkbook.Save
ActiveWindow.Close
End Sub