J
JCB
Guest
Bonjour...
J'ai un pb assez tordu à résoudre :
A l'aide d'un scritp VBS, je crée dynamiquement un tableau Excel
Set oXL = WScript.CreateObject("EXCEL.application")
...
que je remplis par une suite de oXL.Cells(NL,NC).Value = Chaine
Je désire qu'une fois le tableau créé, quand on double-clique sur certaines cellules (celles d'une colonne donnée- C), que cela lance une appli externe (un autre script VBS) à laquelle est passée en paramètres le contenu de la cellule cliquée.
J'ai réussi à le faire en ajoutant à la mimine une fonction dans "Worksheet" de la feuille Excel UNE FOIS qu'elle a été créée.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
CellName = Target.AddressLocal
If Left(CellName, 2) = "$C" Then
key = Target.Value
If key <> "" Then
ret = Shell("cscript h:\wsh\runreg.vbs " & key, vbMinimizedFocus)
End If
End If
End Sub
Cela fonctionne très bien, le 2ème script est bien lancé, avec le contenu de la cellule.
Mais mon problème est le suivant :
Comment insérer cette fonction "Worksheet_BeforeDoubleClick" automatiquement (et donc dynamiquement) depuis le VBS initial dans la feuille qui vient d'être créée?
Je sais, c'est un peu tarabiscoté!
Autant il est facile d'exécuter n'importe quelle fonction qui sera exécutée immédiatement depuis un VBS, autant définir une gestion d'événements depuis cet environnement me semble obscur..
J'ai essayé de créer une macro complémentaire contenant cette fonction, j'ai coché dans EXCEL le XLA correspondant, mais cela ne fonctionne pas, la macro complémentaire n'est pas prise en compte (j'ai fait peut-être une conceté!).
J'ai bien pensé aussi à ajouter un paramètre d'événement dans la création de l'objet Excel dans le VBS :
Set oXL = WScript.CreateObject("EXCEL.application"," "Event_")
mais je n'ai pas l'impression que çà soit prévu (comme avec l'objet InternetExplorer.Application)
Si quelqu'un avait une idée, suggestion, correction ... à me soumettre, je lui en serais très reconnaissant.
Merci ...
J'ai un pb assez tordu à résoudre :
A l'aide d'un scritp VBS, je crée dynamiquement un tableau Excel
Set oXL = WScript.CreateObject("EXCEL.application")
...
que je remplis par une suite de oXL.Cells(NL,NC).Value = Chaine
Je désire qu'une fois le tableau créé, quand on double-clique sur certaines cellules (celles d'une colonne donnée- C), que cela lance une appli externe (un autre script VBS) à laquelle est passée en paramètres le contenu de la cellule cliquée.
J'ai réussi à le faire en ajoutant à la mimine une fonction dans "Worksheet" de la feuille Excel UNE FOIS qu'elle a été créée.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
CellName = Target.AddressLocal
If Left(CellName, 2) = "$C" Then
key = Target.Value
If key <> "" Then
ret = Shell("cscript h:\wsh\runreg.vbs " & key, vbMinimizedFocus)
End If
End If
End Sub
Cela fonctionne très bien, le 2ème script est bien lancé, avec le contenu de la cellule.
Mais mon problème est le suivant :
Comment insérer cette fonction "Worksheet_BeforeDoubleClick" automatiquement (et donc dynamiquement) depuis le VBS initial dans la feuille qui vient d'être créée?
Je sais, c'est un peu tarabiscoté!
Autant il est facile d'exécuter n'importe quelle fonction qui sera exécutée immédiatement depuis un VBS, autant définir une gestion d'événements depuis cet environnement me semble obscur..
J'ai essayé de créer une macro complémentaire contenant cette fonction, j'ai coché dans EXCEL le XLA correspondant, mais cela ne fonctionne pas, la macro complémentaire n'est pas prise en compte (j'ai fait peut-être une conceté!).
J'ai bien pensé aussi à ajouter un paramètre d'événement dans la création de l'objet Excel dans le VBS :
Set oXL = WScript.CreateObject("EXCEL.application"," "Event_")
mais je n'ai pas l'impression que çà soit prévu (comme avec l'objet InternetExplorer.Application)
Si quelqu'un avait une idée, suggestion, correction ... à me soumettre, je lui en serais très reconnaissant.
Merci ...