Excel lancé par VBScript Toujours en visible = True ?

guten tag les amigos ! how are you doing today ?

Cela fais 30 min que je bloque sur un truc...

J'ai une application en VBA, quand je l'ouvre dans la macro Workbook_open je fais USERForm.show et Application.visible = false et ca marche parfaitement j'ai tout qui tourne.

Maintenant, je viens ouvrir cette appli Excel par une mini Appli VBScript, et malgrès l'ajout d'une nouvelle fois de Application.visible = false bah j'ai tjrs Excel en fond qui apparait... Pas cool

Je répète que si j'ouvre l'Excel ca fonctonne il est invisible et on voit que l'USF, si j'ouvre le même Excel via VBScript il est visible

Voila mon code VBScript:

Dim Xl 
Dim wk
Dim oFSO
Dim memoire
memoire = 1
set Xl = createobject("Excel.application")

Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "S:\METRO\Gabin\VBA ; Classeurs Excel ; Moulinettes\DFQ Dreaxlmaier\DFQ Checking App"

If oFSO.FolderExists(stRep) Then

 For each oFl in  oFSO.GetFolder(stRep).Files
   If Left(Right(vrFchs & vbCrLf & oFl.Name,8),3) > memoire Then
    memoire = Left(Right(vrFchs & vbCrLf & oFl.Name,8),3)
   End If    
 Next

set Wk = Xl.workbooks.open("S:\METRO\Gabin\VBA ; Classeurs Excel ; Moulinettes\DFQ Dreaxlmaier\DFQ Checking App\Checking DFQ App V" & memoire & ".xlsm")
Xl.Visible = False
End If

Pour facilement comprendre le VBScript, je viens juste tester mes fichiers pour ouvrire la derniere application à jour. après mon Workbook.open, la ligne xl.visible = false semble faire aucuns effets.

J'espère que poser une question à propos de VBScript n'est pas mal venu dans la partie VBA du Forum.

Merci pour votre aide

bonjour,

je mettrais le xl.visible=false avant le workbooks.open

Bonjour, h2so4

J'aurais du préciser que j'avais déja essayer ! et malheursement non cela ne fonctionne point

3 sacs en tissu opaque contenant chacun 2 boules (rr,vv,rv)r pour rouge v pour vert , on prend un sac au hasard, du sac on tire une boule au hasard, si elle est rouge, quelle est la probabilité que l'autre soit rouge ?

66% de chance que l'autre soit rouge ?

Bonjour,

J'aurais dit 50%.

mmmmh, après avoir fait un arbre de proba je garde l'idée des 66%.

Tout les évenements "tirer une boule" sont équiprobables donc on oublie l'évenemnt choisir un sac, il éxiste 3 évenements "tirer une boule rouge", 2 d'entre eux résultent en "la deuxième boule tiré est rouge"

image

On sait que la premiere est rouge, donc 3 Output possible et 2 qui donne la deuxième boule rouge

Alors comme aucun prof de maths n'a su m'intéresser à la matière et que j'étais encore plus bête que maintenant, je n'ai jamais trop suivi en maths, et encore moins en probas. Du coup je ne raisonne qu'en terme de logique.

Si tu as tiré une boule rouge, tu es donc soit dans le cas RV, soit RR. On oublie le cas VV.

Une fois que tu as retiré une boule rouge de tes 2 sacs, il te reste soit une boule V, soit une R.

(et c'est là que la logique est limitée par rapport aux maths ^^)

Mais comme 2 RR dans un des sac, tu as donc plus de chance de tirer ce sac et donc plus de chances que la duxième soit rouge.

Je suis pas une flèche en maths mais j'adorais les Probas, ca fait 4 ans que je suis en étude supp et je n'en ait toujours pas refait depuis le BAC je suis triste.

(J'ai édit mon précédent post avec l'arbre aucazou t'as pas vu)

Oui j'ai vu ton arbre ;)

Et je crois bien que statistiquement, tu as raison. Même si la logique veut que ce soit 50%.

Je crois d'ailleurs que ça a marqué la fin de mes (très limitées) tentatives de m'intéresser au truc. Je n'arrive pas à raisonner autrement que par cette "logique basique", peut-être fausse en plus !

Dès que les probas viennent contredire la logique, mon cerveau se met en veille.

Bonjour,

66% de chance que l'autre soit rouge ?

contre-intuitif, mais tout-à-fait correct.

Je crois d'ailleurs que ça a marqué la fin de mes (très limitées) tentatives de m'intéresser au truc

Mais il me semble que tu sais programmer en supposant bien sûr que l'aléatoire utilisé est parfait (c'est discutable)

tu reproduis le problème, éxécuter 10000 tirages et tu regarde le % de réussite tu obtiens le résultat par expérience.

Bon, je n'ai toujours pas réponse à mon problème cependant

Mouais bof pour le codage.

Fort heureusement c'est un langage, donc connaître certaines phrases aide.

Mais dès qu'il s'agit de faire quelque chose qui ressemble à un programme, avec des ramifications... Je ne finis par réussir qu'à force d'échecs successifs. C'est une perte de temps et d'énergie folle.

Et on ressent bien le manque de bases et de méthodologie à ce moment !

Pour ton souci ici, je ne peux malheureusement pas t'aider 😕

"up"

Je me permet de up, je dois présenter mon appli Lundi, Disons qu'il n'y a rien de très grave puisque elle fonctionne mais si je pouvais corriger ce mini prob ce serait parfait

A+ les coupains

@AcideSulfurique

une famille a 2 enfants, l'un d'eux est une fille, quelle est la probabilité que l'autre soit aussi une fille ?

Je ne peux pas m'en empêcher j'adore ces petits problèmes.

La probabilité que l'autre soit une fille est de 1/3 soit 33.33% de chance ?

Salut la compagnie !

Je suis plus sur la logique de joyeux noël, sans logique je meurs ^^

sinon pour ton problème, je ne suis vraiment pas caler donc c'est peut être une grosse connerie mais si tu passe plutôt avec un WindowState en réduisant plutôt que masquer ?

Salut numéro 2 merci de ton retour.

J'ai testé et j'ai ce message

image

C'est vraiment trop bizarre... Dans mon WorkbookOpen j'ai mit Application.visible = false et ca fonctionne parfaitemement, mais quand j'ouvre via VBScript tout le classeur est visible...

Bref, je continue d'être preneur de vos idées mais sinon franchement, tant pis. En soit que l'utilisateur puisse voir les onglets c'est pas grave c'était vraiment juste pour donner du look, que cela ressemble vraiment à une application et que l"on oublie le coté Excel :)

A+

étrange, comment tu l'as formulé ?

Application.WindowState = xlMinimized

Après c'est peut être juste VBScript qui bloque tout car dans excel effectivement .windowState = xlMinimized et .visible = false fonctionne, mais je ne connait pas du tout VBScript, peut être qu'il demande une formulation différente ...

*edit: c'est d’ailleurs le cas dans l'exemple de microsoft https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa221819(v=office.11)

...

Oui visiblement tout fonctionne parfaitement dans Excel, le prob viens de VBS, je n'y suis pas non plus habitué

voici mon cocde VBS:

Dim Xl 
Dim wk
Dim oFSO
Dim memoire
memoire = 1
set Xl = createobject("Excel.application")

Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "S:\METRO\Gabin\VBA ; Classeurs Excel ; Moulinettes\DFQ Dreaxlmaier\DFQ Checking App"

If oFSO.FolderExists(stRep) Then

 For each oFl in  oFSO.GetFolder(stRep).Files
   If Left(Right(vrFchs & vbCrLf & oFl.Name,8),3) > memoire Then
    memoire = Left(Right(vrFchs & vbCrLf & oFl.Name,8),3)
   End If    
 Next

'Xl.Visible = False 
xl.WindowState = xlMinimized
set Wk = Xl.workbooks.open("S:\METRO\Gabin\VBA ; Classeurs Excel ; Moulinettes\DFQ Dreaxlmaier\DFQ Checking App\Checking DFQ App V" & memoire & ".xlsm")

End If

Tu noteras que avec xl.Visible pas d'erreur mais le classeu n'est pas masqué tant dis que avec xl.WindowsState msg d'erreur.

Les mystères de VBScript...

Ah oui effectivement, je m'attendait aussi à avoir, au pire, un résultat identique à .visible d'ou mon doute sur la bonne écriture.

Du coup, je pencherait plus (mais sans la moindre certitude) sur une erreur de syntaxe mais en amont, en tout cas ce ne sera pas moi qui trouvera

Je reste caché dans un coin du forum pour voir si quelqu'un trouve la solution final^^

Bonjour à tous

Joyeux Noël a raison.

C'est bien 50%.

Car la question est si la boule tirée est rouge. Quelle est la proba que l'autre soit rouge.

Dans ce cas soit l'autre boule est verte, soit l'autre boule est rouge.

Tu ne pourras jamais tiré une boule rouge dans un sac ou il y a deux boules vertes. Donc ce sac ne peut compter.

Donc tu te trouves que dans 2 possibilités. Soit la boule tirée provient du sac RR et avec la chance maximum l'autre boule sorti du sac est rouge, ce qui fait 100%.

Soit la boule tirée provient du sac RV et la 2 ième boule sera verte, mauvaise pioche, ce qui fait 0%.

Sur de nombreuses tentatives ta chance oscillera entre 100% et 0%. Soit une probabilité de réussir de 50%.

En étant très chanceux tu seras peut être vers 66%, mais si tu est plutôt malchanceux tu seras plus vers 33%. Et donc( 66% + 33%)/2 = 50%.

Rechercher des sujets similaires à "lance vbscript visible true"