Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur à la deuxième exécution du script [ Divers / General ] (JG73)

lundi 20 août 2007 à 03:02:59 | Erreur à la deuxième exécution du script

JG73

Bonjour,

Je fais face à un problème d'exécution d'un script. A la première exécution le script se déroule correctement. Mai a la deuxième j'ai l'erreur suivante: "Run-time error '91': Object variable or with blockvariable not set".
Le script est arrété sur l'instruction " Selection.copy".
Je suis alors obligé d'arréter le script de fermer le fichier EXCEL ouvert par le script. Si j'exécute le scipt à nouveau je n'ai pas d'erreur. J'ai remarquer qu'en pointant sur les methods "Worksheet" ou "Rows" de mon script, au premier passage j'ai le tooltype text suivant "Worksheets =<Object variable or With block variable not set>". Au second passage, celui qui génère une erreur, j'ai le tooltype text suivant "Worksheets =<Method 'Worksheets' of Object '_global' not set>".

Le script est executé à partir de Microsoft Visual basic 6.3 intégré à une application Allen Bradley RSView Studio SE.

Le script est le suivant:

Private Sub Button3_Released()

'Best to define variable first but not nessecary
Dim ObjExcelApp As Object
Dim Fname As String
Dim name As String

Fname = "C:\Classeur1.xls" 'name of already created excel project

Set ObjExcelApp = CreateObject("Excel.Application")
ObjExcelApp.Visible = True

ObjExcelApp.Workbooks.Open (Fname)
ObjExcelApp.Worksheets("Feuil1").Activate
ObjExcelApp.Worksheets("Feuil1").cells(1, "A").Value = "OK man" 'Write date to cell A1

ObjExcelApp.Worksheets("Feuil1").Range("A1").Select
    Selection.Copy
ObjExcelApp.Worksheets("Feuil1").Range("B2").Select
    ActiveSheet.Paste

ObjExcelApp.Workbooks.Close
ObjExcelApp.Quit
Set ObjExcelApp = Nothing

End Sub

Si quelqu'un connaitrait la solution à ce problème.

D'avance merci

JG


lundi 20 août 2007 à 03:47:51 | Re : Erreur à la deuxième exécution du script

mortalino

Membre Club


salut,

n'utilise pas le type Object mais Excel

1/ dans le menu Projet, références, coche Microsoft Excel Object Library.

remplace Dim ObjExcelApp As Object
par Dim ObjExcelApp As New Excel.Application

et supprime
Set ObjExcelApp = CreateObject("Excel.Application")

@++


( Nouveau forum : Exclusivement Office & VBA/STRONG>

lundi 20 août 2007 à 15:56:02 | Re : Erreur à la deuxième exécution du script

mrdep1978

Réponse acceptée !
Salut, Le mieux, c'est de virer tout ce qui concerne les objets de type "Selection", "ActiveSheet", "ActiveCell" (bref, les "ActiveXXXX"). Evite également les méthodes Activate et Select. Elles sont utiles si tu veux positionner le curseur sur la cellule Excel ou afficher une feuille précise, sinon ça apporte des ennuis mais pas d'intérêt. Pour moi, ton code devrait donner qqe chose comme ça : Private Sub Button3_Released() 'Best to define variable first but not nessecary Dim ObjExcelApp As Object Dim l_WorkBook As Object Dim Fname As String Dim name As String Fname = "C:\Classeur1.xls" 'name of already created excel project Set ObjExcelApp = CreateObject("Excel.Application") ObjExcelApp.Visible = True 'l_WorkBook représente le classeur que tu as ouvert Set l_WorkBook = ObjExcelApp.Workbooks.Open (Fname) 'ObjExcelApp.Worksheets("Feuil1").Activate With l_WorkBook.Worksheets("Feuil1") .Cells(1, "A").Value = "OK man" 'Write date to cell A1 .Range("A1").Copy .Range("B2") 'Copy data from A1 to B2 End With l_WorkBook.Close True 'Save and close the workbook ObjExcelApp.Quit 'Close Excel Set l_WorkBook = Nothing Set ObjExcelApp = Nothing End Sub

mardi 21 août 2007 à 02:30:48 | Re : Erreur à la deuxième exécution du script

JG73

Bonjour et merci pour votre réponse rapide. J'ai modifié mon script sur vos conseils mais malheureusement sans succès. La réponse faite par mrdep1978 a résolu le problème.

Encore merci

JG73


mardi 9 octobre 2007 à 15:58:10 | Re : Erreur à la deuxième exécution du script

vbnet64

Bonjour, quand j'ai eu ce problème je l'ai corriger en ajoutant l'objet avant la sélection ex:  objexcelapp.Selection.Copy


vbnet



Cette discussion est classé dans : script, erreur, exécution, worksheets, objexcelapp


Répondre à ce message

Sujets en rapport avec ce message

Erreur Script [ par Stevous ] SalutLors de l'exécution de mon script en VBScript, voici le message d'erreur que j 'obtiens :' Script :   C:\Documents and Settings\siestainf\Bureau\ Erreur d'exécution 94 [ par bidule2409 ] Bonjour, dans mon code Access, je cela : Dim db As DAO.DATABASEDim titre_responsable_lettre As DAO.RecordsetDim res_titre As StringSet db = Applicatio Virer la fenêtre "erreur de script de IE" [ par darksylva ] Bonjour @ tous, J'ai créé un navigateur internet et je n'arrête pas d'avoir ce problème : la fenêtre "Erreur de script de Internet Explorer" qui ne c Que signifie " Erreur d'exécution '70' " sur VB ? [ par sagesse ] bonjour à tous,j'ai un pb au niveau de l'exécution de mon programme VB!!!je lance mon exécutable, et quand je veux effectuer un traitement sur la fenê Erreur d'exécution 3426 Objet associé [ par cycy07 ] j'ai un problème lors du lancement de mon appli, il me met erreur d'exécution 3426 Objet associé, j'ai des enregistrements encodés donc ça ne peut pas Access Erreur d'exécution 3709 - Utilisation connexion impossible [ par LABCODES ] Bonjour,Voilà le problème auquel je ne trouve pas de solution, après pas mal de recherches.J'ai créé deux applications sous Access 2000 (en n'utilisan Erreur d'exécution '91' AU SECOUR ! [ par niavlys1987 ] Tout d'abord bonjour,je me trouve face à un problème que je n'arrive pas à résoudre car je ne sais meme pas où il pourrait y avoir une erreurVoilà ma J'aimerais avoir une liste des messages d'erreur d'exécution et leur #. [ par caricaro ] J'ai un .exe qui fonctionne bien sur la machine sur laquelle je l'ai créé mais aussitôt que je change de machine (mes paths sont bons, mes dll sont bi erreur page script [ par charleshenri ] salut voila je voudrait savoir comment on peut fermer automatiquement comme si on appuiyer tout le temps sur entre quand cette page apparee merci d'av Exécution arrière plan [ par ZeroCool007 ] Salut, Je cherche a exécuter un script php en arrière-plan pour ne pas bloquer


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.