begin process at 2012 02 14 10:00:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Erreur SubString


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur SubString

mercredi 23 août 2006 à 16:26:37 | Erreur SubString

joebarteam88

Bonjour,
comme l'indique le titre je suis full débutant en VB. Je suis en train d'essayer de faire une macro dans excel et grrrrr !!! Je galère à mort ...
Voici mont code
Code :
Sub GenXML(site) Dim curSheet Dim curBook Set curBook = Workbooks.Item("Properties.xls") Set curSheet = curBook.Sheets("properties") Dim fs, f, s, filename Set fs = CreateObject("Scripting.FileSystemObject") filename = home & "\properties.xml" Set ts = fs.CreateTextFile(filename, True) counter = 1 Dim str ts.WriteLine ("<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>") ts.WriteLine ("<properties>") Do While counter < 1000 counter = counter + 1 str = curSheet.Cells(counter, 1).Value If (str = "#FIN") Then counter = 1001 ElseIf (str.Substring(0, 1) <> "#") Then ts.Write (Chr(9) & "<property key='" & str & "'>") ts.Write (curSheet.Cells(counter, colsite).Value) ts.WriteLine ("</property>") End If Loop ts.WriteLine ("</properties>") ts.Close End Sub

Lors de l'execution, il plante sur la ligne en gras en me disant objet requis. Avec le debug (que je découvre aussi bien sur) j'ai vu que str est bien valorisé, ça me laisse penser qu'il se plante (enfin que je me plante donc) sur le SubString.
Une idée de quoi ça pourrait venir svp ?
merci
mercredi 23 août 2006 à 16:29:28 | Re : Erreur SubString

joebarteam88

Réponse acceptée !

Désolé pour le code, le voici correctement indenté

Sub GenXML(site)
   
    Dim curSheet
    Dim curBook
   
    Set curBook = Workbooks.Item("Properties.xls")
    Set curSheet = curBook.Sheets("properties")

    Dim fs, f, s, filename
    Set fs = CreateObject("Scripting.FileSystemObject")
    filename = home & "\properties.xml"
    Set ts = fs.CreateTextFile(filename, True)
       
    counter = 1
    Dim str
    ts.WriteLine ("<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>")
    ts.WriteLine ("<properties>")
    Do While counter < 1000
        counter = counter + 1
        str = curSheet.Cells(counter, 1).Value
        If (str = "#FIN") Then
            counter = 1001
        ElseIf (str.Substring(0, 1) <> "#") Then
            ts.Write (Chr(9) & "<property key='" & str & "'>")
            ts.Write (curSheet.Cells(counter, colsite).Value)
            ts.WriteLine ("</property>")
        End If
    Loop
    ts.WriteLine ("</properties>")

    ts.Close
End Sub

mercredi 23 août 2006 à 16:36:00 | Re : Erreur SubString

jrivet

Membre Club
Salut,
Je ne sais pas a l'aide de quoi tu code,
Mais si tu es bien en VB6 ou en VBA la procédure SubString N'existe pas.


NOTE: Site ne sert a rien comme parametre vu qu il n'ets pas utiliser dan sla Sub
NOTE2 Pense a bien déclarer le type de tes varaibles cela poura parfois t'éviter des problèmes.
ex:
Dim curSheet  As Worksheet
Dim curBook As Workbook

En VBA Et VB6 si tu veux isoler les caracteres d'une chiane de caracteres il faut utiliser la fonction Mid
Mid(String, Start As Long, [Lenght])

@+, Julien

mercredi 23 août 2006 à 16:39:16 | Re : Erreur SubString

casy

Membre Club
substring en VBA, je suis pas sur que ça existe.

De plus, tu ne type pas tes variables à la déclaration. Dans ce cas, elles sont de type variant et prennent en fait le type de la première valeur que tu leur met dedant.
Ca peut te generer des erreurs sans que tu t'en appercoive.

Typage des variables :
Dim curSheet As Worksheet
Dim curBook As Workbook
.......
Dim str as String
........


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 23 août 2006 à 16:39:56 | Re : Erreur SubString

casy

Membre Club
Grilled



---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 23 août 2006 à 16:45:51 | Re : Erreur SubString

jrivet

Membre Club
>casy: Un tit peu ui

@+, Julien

jeudi 24 août 2006 à 08:15:29 | Re : Erreur SubString

joebarteam88

Super, tout fonctionne parfaitement avec Mid.
J'avais juste commis une chtite erreur en faisant commençer l'extraction à 0 avec Mid (comme je le fais en java avec substring).
En tout cas merci bien.
jeudi 24 août 2006 à 08:36:36 | Re : Erreur SubString

jrivet

Membre Club

Mais de rien

N oublie pas d'appuye sur réponse acceptée sur le ou les posts qui ont pu t'aider.
@+, Julien



Cette discussion est classée dans : set, substring, writeline, ts, cursheet


Répondre à ce message

Sujets en rapport avec ce message

Aide pour incrementer [ par Lexounet ] Voila g fait un petit script en vbs ki permet de recuperer la 1° ligne d un fichier excel et de la stocker dans un fichier texte : Dim F , TSconst Tri Lire un fichier [ par salska ] Salut a tous,Je recherche comment mettre le contenu d un fichier dans une variable EN VBSLe probleme c est que ca lit que la premiere ligneSet objShel Impossibilité d'écrire à la suite dans un fichier sous systeme Win 2000... [ par alexalex55 ] Bonjour,J'ai un ENORME problème que je n'arrive pas à résoudre. Voila, j'ai créé deux scripts sous VBS qui s'éxécutent au démarrage et à la fermeture VBA excel: WriteLine [ par Liro ] Bonsoir,Je créé via vba excel un fichier que je complète.Je dois écrire du texte suivi d'un texte entre guillements, mais celà semble poser problème.V Indicer des fichiers Texte dans VBA [ par AmaDablam ] Bonjour, J'ai une procédure unique VBA (version 6.3 sous Microsoft Excel 2000 sur PC) qui crée une mu Utilisation du CPU 100% [ par dwit ] Bonjour,J'ai repeché par ici et par la des bout du script, et je viens de tout assembler , ce script va recherche tous les log d'alert dans l'event lo 800A01AD - Un composant activex ne peut pas créer un objet [ par VBScript37 ] Slt, En utilisant le script ci dessous, j'ai droit à une erreur de ce type dés la 1ère ligne , je ne comprends pas à quoi c'est dû, avez vous une id Modification script [ par JHON44 ] Bonjour, j'ai un script qui marche et il me récupere l'inventaire des disques locaux. qulqu'un pourrait me modifier ce script pour récuperer l'invent surveillance des disque en Vbscript et Wmi [ par mohax007 ] bonjour  a tous je debute en vbScript  et donc comme tout debutant j ai un probleme que vois ci : Je  doit faire un script pemettant  la surveillance probleme lecture fichier texte [ par simonfr ] bonjour, j'ai un script pour lire un fichier texte et l'afficher ligne par ligne ca marche mais le seul probleme c'est qu'il lit une ligne sur 2 et je


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales