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

Shell avec variables impossible

3 réponses
Avatar
Georges
Bonsoir,

je cherche sans succès à lancer excel avec un fichier les données étant
issues d'e variables concaténées :

Chemin = CléRegistre(Clé) récupère le chemin du dossier mes documents dans
la base de registre
MsExcel = CléRegistre(CléExcel) récupère la ligne de lancement d'excel dans
la base de registre.

Je voudrais lancer une ligne du type :

Call Shell (CléRegistre(CléExcel) & " " & CléRegistre(Clé) &
"\Données\PrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls")

Mais cela ne donne aucun résultat. Quelque saurait-il pourquoi ?

Merci
Cordialement
Georges

3 réponses

Avatar
Michel__D
Bonjour,

"Georges" a écrit dans le message de news:
Bonsoir,

je cherche sans succès à lancer excel avec un fichier les données étant
issues d'e variables concaténées :

Chemin = CléRegistre(Clé) récupère le chemin du dossier mes documents dans
la base de registre
MsExcel = CléRegistre(CléExcel) récupère la ligne de lancement d'excel dans
la base de registre.

Je voudrais lancer une ligne du type :

Call Shell (CléRegistre(CléExcel) & " " & CléRegistre(Clé) &
"DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls")

Mais cela ne donne aucun résultat. Quelque saurait-il pourquoi ?



Essaye avec ceci

Dim oSh As Object
Set oSh = CreateObject("WScript.Shell")
oSh.Run """" & oSh.ExpandEnvironmentStrings("%USERPROFILE%") & _
"DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls" & """"
Set oSh = Nothing
Avatar
chpa
Bonsoir,

Pourquoi tant de complications ?
Il est inutile de lancer un shell pour ouvrir un fichier Excel même avec un
nom de fichier issus de variables.
CreateObject est une bonne piste mais c'est un objet Excel qu'il faut créer,
pas autre chose.

"Michel__D" a écrit dans le message de
news:gfe5j8$u3q$
Bonjour,

"Georges" a écrit dans le message de
news:
Bonsoir,

je cherche sans succès à lancer excel avec un fichier les données étant
issues d'e variables concaténées :

Chemin = CléRegistre(Clé) récupère le chemin du dossier mes documents
dans
la base de registre
MsExcel = CléRegistre(CléExcel) récupère la ligne de lancement d'excel
dans
la base de registre.

Je voudrais lancer une ligne du type :

Call Shell (CléRegistre(CléExcel) & " " & CléRegistre(Clé) &
"DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls")

Mais cela ne donne aucun résultat. Quelque saurait-il pourquoi ?



Essaye avec ceci

Dim oSh As Object
Set oSh = CreateObject("WScript.Shell")
oSh.Run """" & oSh.ExpandEnvironmentStrings("%USERPROFILE%") & _
"DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls" &
""""
Set oSh = Nothing



Avatar
Michel__D
Bonjour,

Tu n'as apparemment pas lu complétement la demande initiale :

Il faut répondre à 2 choses :
1ère chose :
Je cite "récupère le chemin du dossier mes documents dans la base de registre"

Voici ma proposition (et j'en profile pour corriger un oubli) :
oSh.ExpandEnvironmentStrings("%USERPROFILE%") & "Mes documents"

2ème chose :
Il faut lancer un fichier Excel en utilisant le résultat précédent.

D'ou ma proposition finale :
Dim oSh As Object
Set oSh = CreateObject("WScript.Shell")
oSh.Run """" & oSh.ExpandEnvironmentStrings("%USERPROFILE%") & _
"Mes documentsDonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls" & """"
Set oSh = Nothing

Donc si tu trouve que c'est trop compliqué, j'attends ta proposition qui réponde au besoin spécifié.


"chpa" a écrit dans le message de news:ONsa$
Bonsoir,

Pourquoi tant de complications ?
Il est inutile de lancer un shell pour ouvrir un fichier Excel même avec un
nom de fichier issus de variables.
CreateObject est une bonne piste mais c'est un objet Excel qu'il faut créer,
pas autre chose.

"Michel__D" a écrit dans le message de
news:gfe5j8$u3q$
> Bonjour,
>
> "Georges" a écrit dans le message de
> news:
>> Bonsoir,
>>
>> je cherche sans succès à lancer excel avec un fichier les données étant
>> issues d'e variables concaténées :
>>
>> Chemin = CléRegistre(Clé) récupère le chemin du dossier mes documents
>> dans
>> la base de registre
>> MsExcel = CléRegistre(CléExcel) récupère la ligne de lancement d'excel
>> dans
>> la base de registre.
>>
>> Je voudrais lancer une ligne du type :
>>
>> Call Shell (CléRegistre(CléExcel) & " " & CléRegistre(Clé) &
>> "DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls")
>>
>> Mais cela ne donne aucun résultat. Quelque saurait-il pourquoi ?
>
> Essaye avec ceci
>
> Dim oSh As Object
> Set oSh = CreateObject("WScript.Shell")
> oSh.Run """" & oSh.ExpandEnvironmentStrings("%USERPROFILE%") & _
> "DonnéesPrimesRempl-" & Month(Date) & "-" & Year(Date) & ".xls" &
> """"
> Set oSh = Nothing
>