Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vérifier, renommer, raccourci d'un fichier

2 réponses
Avatar
julien018
Bonjour,

Je suis en train de travailler sur un fichier que je n'ai pas créé ce qui
peut expliquer les erreurs qu'il contient sans doute.

Sur la première page de mon document un formulaire permet de rentrer de
nouvelles affaires (celles-ci sont designées par une série de 5 chiffres et
on leur attribue une désignation: nom pour qu'elles soient plus explicites).

A la validation du formulaire je souhaiterai que ma macro aille verifier si
un dossier portant le numéro de mon affaire existe et si oui de coller un
fichier vierge ( document de gestion ) dans ce dossier en le renommant avec
ses attribus numéro d'affaire - désignation. Puis je souhaiterai que ma macro
produise un raccourci de ce fichier dans un dossier précis dénommé dossier
source.

je ne suis pas parvenu à comprendre à 100% comment fonctionne le principe du
raccourci. Je vous montre à quoi je suis parvenu et je vous prie de m'excuser
car c'est un peu brouillon, a vrai dire je débute et je n'ai pas la certitude
que mon code soit cohérent.

Private Sub CommandButton2_Click()

‘1) vérifier l’existence du dossier concerné car il peut avoir été créé
avant que l’on ne remplisse ce formulaire.

Dim oFSO As Scripting.FileSystemObject
Dim fso
Dim Naffaire as Variant
Dim Designation as String
Dim OBJ As Object, oShellLink As Object
Dim sNom As String, sChemin As String, _
Dim Optional sParam As String, Optional sRepertoireDeTravail As String, _
Dim Optional sIcon As String, Optional sComment As String

Set oFSO = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set OBJ = CreateObject("wscript.shell")
Set oShellLink = OBJ.CreateShortcut(Naffaire)
Set oShellLink =
OBJ.CreateShortcut(OBJ.SpecialFolders("X:\AFFAIRES\"&Naffaire&"") & "\"
& Naffaire)

Naffaire = Ajout.TextBox1.Value
Designation = Ajout.TextBox2.Value

If oFSO.FolderExists("X:\AFFAIRES\ Naffaire ,*") Then

'2)renommer le fichier vierge à partir des données du formulaire ( numéro de
l’affaire - puis désignation ) et le déplacer dans le dossier trouvé
précédement

fso.MoveFile " X:\AFFAIRES\9092 - ADMINISTRATIF\mise au point excel\MODIF
EXCEL\test tableau de gestion\doc vierge", "
X:\AFFAIRES\"&Naffaire&"("&Designation&").xls "

‘3) créer un raccourci dans un autre dossier appelé « dossier source »
'X:\AFFAIRES\9092 - ADMINISTRATIF\mise au point excel\MODIF EXCEL\test
tableau de gestion\Dossier Source

merci par avance.

Julien

2 réponses

Avatar
MichDenis
Bonjour Julien018,

Je n'ai pas trop compris la donne de ton problème,
voici comment créer un raccourci

'---------------------------------
Sub test()
Dim Chemin As String, Fichier As String
Dim Nom_Racccourci As String, Chemin_Raccourci As String
Dim WshShell As Object, Lien As Object

'Nom du fichier original
Fichier = "Budgets.xls"
'Emplacement du fichier original
Chemin = "c:UsersDMDocuments"

'Nom que doit avoir le nom du raccourci + extension obligatoire
Nom_Raccourci = Split(Fichier, ".")(0) & ".lnk"
'Chemin où doit être situé le répertoire
Chemin_Raccourci = "C:UsersDMDocumentsTest"

'Création du raccourci
Set WshShell = CreateObject("WScript.Shell")
'Création de l'instance
Set Lien = WshShell.createShortcut(Chemin_Raccourci & Nom_Raccourci)
Lien.TargetPath = Chemin & Fichier
Lien.WindowStyle = 1
Lien.IconLocation = "Excel.exe, 0"
Lien.Description = "Mon Budget personnel"
Lien.WorkingDirectory = Chemin & Fichier
Lien.Save
End Sub
'---------------------------------




"julien018" a écrit dans le message de groupe de
discussion :
Bonjour,

Je suis en train de travailler sur un fichier que je n'ai pas créé ce qui
peut expliquer les erreurs qu'il contient sans doute.

Sur la première page de mon document un formulaire permet de rentrer de
nouvelles affaires (celles-ci sont designées par une série de 5 chiffres et
on leur attribue une désignation: nom pour qu'elles soient plus explicites).

A la validation du formulaire je souhaiterai que ma macro aille verifier si
un dossier portant le numéro de mon affaire existe et si oui de coller un
fichier vierge ( document de gestion ) dans ce dossier en le renommant avec
ses attribus numéro d'affaire - désignation. Puis je souhaiterai que ma macro
produise un raccourci de ce fichier dans un dossier précis dénommé dossier
source.

je ne suis pas parvenu à comprendre à 100% comment fonctionne le principe du
raccourci. Je vous montre à quoi je suis parvenu et je vous prie de m'excuser
car c'est un peu brouillon, a vrai dire je débute et je n'ai pas la certitude
que mon code soit cohérent.

Private Sub CommandButton2_Click()

‘1) vérifier l’existence du dossier concerné car il peut avoir été créé
avant que l’on ne remplisse ce formulaire.

Dim oFSO As Scripting.FileSystemObject
Dim fso
Dim Naffaire as Variant
Dim Designation as String
Dim OBJ As Object, oShellLink As Object
Dim sNom As String, sChemin As String, _
Dim Optional sParam As String, Optional sRepertoireDeTravail As String, _
Dim Optional sIcon As String, Optional sComment As String

Set oFSO = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set OBJ = CreateObject("wscript.shell")
Set oShellLink = OBJ.CreateShortcut(Naffaire)
Set oShellLink OBJ.CreateShortcut(OBJ.SpecialFolders("X:AFFAIRES"&Naffaire&"") & ""
& Naffaire)

Naffaire = Ajout.TextBox1.Value
Designation = Ajout.TextBox2.Value

If oFSO.FolderExists("X:AFFAIRES Naffaire ,*") Then

'2)renommer le fichier vierge à partir des données du formulaire ( numéro de
l’affaire - puis désignation ) et le déplacer dans le dossier trouvé
précédement

fso.MoveFile " X:AFFAIRES9092 - ADMINISTRATIFmise au point excelMODIF
EXCELtest tableau de gestiondoc vierge", "
X:AFFAIRES"&Naffaire&"("&Designation&").xls "

‘3) créer un raccourci dans un autre dossier appelé « dossier source »
'X:AFFAIRES9092 - ADMINISTRATIFmise au point excelMODIF EXCELtest
tableau de gestionDossier Source

merci par avance.

Julien
Avatar
MichDenis
Si tu veux vérifier si un fichier existe :

Dim Wk As Workbook

if dir(chemin & NomDuFichier.xls) ="" then
'si le fichier n'existe pas
'Création d'un fichier nouveau et vide
set Wk = Workbooks.Add
'Enregistrement et attribution d'un nom au fichier
Wk.SaveAs chemin & "LeNomQueTuVeux.xls"
'Fermeture du fichier
Wk.Close False
End if



"julien018" a écrit dans le message de groupe de
discussion :
Bonjour,

Je suis en train de travailler sur un fichier que je n'ai pas créé ce qui
peut expliquer les erreurs qu'il contient sans doute.

Sur la première page de mon document un formulaire permet de rentrer de
nouvelles affaires (celles-ci sont designées par une série de 5 chiffres et
on leur attribue une désignation: nom pour qu'elles soient plus explicites).

A la validation du formulaire je souhaiterai que ma macro aille verifier si
un dossier portant le numéro de mon affaire existe et si oui de coller un
fichier vierge ( document de gestion ) dans ce dossier en le renommant avec
ses attribus numéro d'affaire - désignation. Puis je souhaiterai que ma macro
produise un raccourci de ce fichier dans un dossier précis dénommé dossier
source.

je ne suis pas parvenu à comprendre à 100% comment fonctionne le principe du
raccourci. Je vous montre à quoi je suis parvenu et je vous prie de m'excuser
car c'est un peu brouillon, a vrai dire je débute et je n'ai pas la certitude
que mon code soit cohérent.

Private Sub CommandButton2_Click()

‘1) vérifier l’existence du dossier concerné car il peut avoir été créé
avant que l’on ne remplisse ce formulaire.

Dim oFSO As Scripting.FileSystemObject
Dim fso
Dim Naffaire as Variant
Dim Designation as String
Dim OBJ As Object, oShellLink As Object
Dim sNom As String, sChemin As String, _
Dim Optional sParam As String, Optional sRepertoireDeTravail As String, _
Dim Optional sIcon As String, Optional sComment As String

Set oFSO = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set OBJ = CreateObject("wscript.shell")
Set oShellLink = OBJ.CreateShortcut(Naffaire)
Set oShellLink OBJ.CreateShortcut(OBJ.SpecialFolders("X:AFFAIRES"&Naffaire&"") & ""
& Naffaire)

Naffaire = Ajout.TextBox1.Value
Designation = Ajout.TextBox2.Value

If oFSO.FolderExists("X:AFFAIRES Naffaire ,*") Then

'2)renommer le fichier vierge à partir des données du formulaire ( numéro de
l’affaire - puis désignation ) et le déplacer dans le dossier trouvé
précédement

fso.MoveFile " X:AFFAIRES9092 - ADMINISTRATIFmise au point excelMODIF
EXCELtest tableau de gestiondoc vierge", "
X:AFFAIRES"&Naffaire&"("&Designation&").xls "

‘3) créer un raccourci dans un autre dossier appelé « dossier source »
'X:AFFAIRES9092 - ADMINISTRATIFmise au point excelMODIF EXCELtest
tableau de gestionDossier Source

merci par avance.

Julien