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 Sub

c'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 Sub

Merci 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
Rechercher des sujets similaires à "macro lien relatif"