XL 2013 monfichier.xlsm /x | est-ce possible ?

Titof06

XLDnaute Junior
Bonjour,

Je souhaiterai lancer un fichier Excel contenant des macros, dont une à l'ouverture, avec la possibilité d'option.

Je m'explique.

J'ai une base de données et je souhaiterai pouvoir définir l'année de traitement de mon fichier.
Par exemple, si je veux sortir mon traitement, pour l'année 2018, pouvoir lancer le fichier du style "monfichier.xlsm /2018"
pour 2017 : "monfichier.xlsm /2017"
et ainsi de suite.

Je pourrai faire une demande de question à l'ouverture, mais je voulais savoir si cela était possible.

Pourquoi, c'est juste pour éviter les manipulations.
Si cela est possible, je mettrai un fichier batch qui l'exécutera dans un répertoire précis qui se lancera selon l'année.

Merci d'avance.

Bonne Journée.

Titof06
 

Titof06

XLDnaute Junior
Bonjour
Déjà en Brut Non ce n'est pas possible un fichier excel n'est pas paramétrable
Après tu peux mettre une restriction / choix sous forme de variable ( temps , date ...) dans une sub auto_open


Bonjour Hervé62,

Tout d'abord, Bonne Année et surtout Santé pour 2020 !

Merci pour cette rapide réponse.

Je vais faire l'option de poser la question avec la possibilité de choisir l'année du traitement à l'ouverture du fichier.

Bonne Journée

Titof06
 

job75

XLDnaute Barbatruc
Bonjour,
un fichier excel n'est pas paramétrable
??? ça ne veut rien dire, on paramètre ce qu'il faut paramétrer c'est tout, par exemple pour créer un fichier 2018 :
VB:
Sub Fichier2018()
Application.DisplayAlerts = False
With ThisWorkbook
    If Not .Name Like "*#*" Then .SaveAs Left(.FullName, InStrRev(.FullName, ".") - 1) & " 2018"
End With
End Sub
et en paramétrant la macro :
VB:
Sub Lance()
Fichier 2018
End Sub

Sub Fichier(an%)
Application.DisplayAlerts = False
With ThisWorkbook
    If Not .Name Like "*#*" Then .SaveAs Left(.FullName, InStrRev(.FullName, ".") - 1) & " " & an
End With
End Sub
Edit : le fichier ne peut pas être traité si son nom contient des chiffres.

A+
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
un fichier excel n'est pas paramétrable
??? ça ne veut rien dire
Desolé Job pour un matheux comme moi si l'on ajoute qq chose de variable, selon un critère, à une fonction c'est un paramètre
ici la fonction est le fichier excel c'est lui qu'on execute tout comme une fonction mathématique
A moins qu'on le prenne en terme général et là cela ne veut plus rien dire !!!
 

job75

XLDnaute Barbatruc
Une maniètre de "paramétrer" le fichier c'est de créer le nom défini "An" à qui on affectera une année quelconque.

Ensuite à l'ouverture du fichier ou en toute autre occasion on peut exécuter un code VBA en fonction de cette année-la.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Titof06, herve62, job75

Une possibilité en utilisant VBS pour ouvrir le fichier Excel
1) Dans le bloc-notes, copier le script suivant
(en faisant les adaptations nécessaires: nom chemin et nom fichier)
Code:
Dim Variable
sPath = "C:\Users\STAPLE\Documents\"
sFile = "test01.xlsm"
Variable=InputBox("Test?")
With CreateObject("Excel.Application").Workbooks.Open(sPath & sFile)
   .Parent.Run "'" & sFile & "'!Test", Cstr(Variable)
   .Save
   .Parent.Quit
End With
2) Enregistrer sous: Test.vbs (par exemple)
3) Double-cliquez sur test.vbs, saisir une valeur dans l'InputBox qui s'affiche
Le fichier Excel s'ouvrira et la macro Test s’exécutera en prenant comme paramètre ce qu'il y avait dans l'InputBox.
puis se fermera.

Ci-dessous la macro VBA de test présente dans test01.xlsm
VB:
Sub Test(T As String)
MsgBox T
End Sub
Testé sur XL2013 et W10
 

Staple1600

XLDnaute Barbatruc
Bonjour patricktoulon

Pourquoi le bon vieux temps pour VBA?
(Pour VBS, je comprends, désormais il y a PowerShell)
A moins que tu parles de .Net ?
Enfin pour moi, VBA n'est pas encore mort et ce n'est donc pas le bon vieux temps

(Pour moi: le bon vieux temps, c'est W98SE avec Ms-Dos et les disquettes de boot "optimisées" , et l'encore plus bon vieux temps W3.11 avec Excel 4 ;))
 

Discussions similaires

Réponses
6
Affichages
589

Statistiques des forums

Discussions
314 627
Messages
2 111 303
Membres
111 094
dernier inscrit
MFrequence