OVH Cloud OVH Cloud

Probleme de dim

5 réponses
Avatar
merlin01fr
bonjour

Dans le code ci-dessous (desole il est long) j'ai un probleme avec ma
declaration dim se trouvant a la fin Dim MonTableauMethode(0) (j'ai viré la
suite du programme pour ne rester axer que sur ce probleme) il me retourne
une erreur du style type incompatible MonTableauMethode.

franchement je rame grave la dessus, si quelqu'un avait une idee

'----------------------------------------------------------------------'
' Creation d un fichier csv répertoriant en les classant dans la bonne '
' Colonne tous les types des proprietes des classes win32 de cimv2 '
'----------------------------------------------------------------------'
' Origine : issu de scriptcenter.chm ce script permettait de lister '
' L ensemble des proprietes des classes win32 ainsi que leurs '
' Methodes, le script d origine est trouvable sous le nom de '
' (Listing the Properties and Methods of the Win32 Classes) '
' Merci aussi a pilosite et son site www.scriptovore.com '
' Un grand expert du script se trouve derriere ce site et est pret '
' a repondre a toutes vos questions '
'----------------------------------------------------------------------'
'----------------------------------------------------------------------'
' Copyright du plagieur : Gauthier Lapoujade | Niveau : Debutant '
' alias : merlin01fr ou nathan01fr | '
'----------------------------------------------------------------------'
' Date de creation : 18/01/2006 | Derniere Maj : 18/01/2006 '
'----------------------------------------------------------------------'
' Modification apportée : la version d origine ne proposait qu un '
' fichier texte de ligne mise les unes a la suite des autres (pas tres '
' pratique quand on recherche des infos sur un type de classe) , on '
' arrive a une bien meilleure visibilité quand on classifie les '
' informations trouvées. si vous ouvrez ce fichier sous excel en mode '
' texte vous optiendrez les informations suivantes (en colonnes ) : '
' Nom de la classe; Nom de la Propriete, type 1; type 2; type 3; '
' il ne vous restera plus qu a creer un filtre automatique sur les '
' colonnes pour obtenir les informations qui vous interessent '
'----------------------------------------------------------------------'
' Mon appreciation du script : assez pratique pour avoir une visue sur '
' les proprietes des classes , mais il reste a faire de meme les '
' methodes '
'----------------------------------------------------------------------'

'------------------------------------------------------------------'
' Cette partie permet de creer les repertoires qui seront utiles a '
' l'extraction des classes wmi , changez le nom de ces repertoires '
' si vous le souhaitez le script se readaptera en fonction de vos '
' preferences '
'------------------------------------------------------------------'

RepDeBase = "c:\Scripts"
SousRepDeBase = "c:\Scripts\Extraction"
SousRepDeBaseBiblioGene = "c:\Scripts\Extraction\Bibliotheque Generale"

Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FolderExists(RepDeBase) Then
fso.CreateFolder(RepDeBase)
End If

If Not fso.FolderExists(SousRepDeBase) Then
fso.CreateFolder(SousRepDeBase)
End If

If Not fso.FolderExists(SousRepDeBaseBiblioGene) Then
fso.CreateFolder(SousRepDeBaseBiblioGene)
End If

'----------------------------------------------------------------------'
' je commence la creation du fichier csv ici en preparant les entetes '
' de colonnes '
'----------------------------------------------------------------------'

Set fso = CreateObject("Scripting.FileSystemObject")
Set MaPropriete = fso.CreateTextFile(SousRepDeBaseBiblioGene & chr(92) &
"Proprietes de classe.csv", True)

MaPropriete.WriteLine("Nom de la Classe" & ";" & "Nom de la Propriete" &
";" & "UnTableau" & ";" _
& "16 Bit Signé" & ";" & "32 Bit Signé" & ";" & "32 Bit Reel" & ";"
& "64 Bit Reel" & ";" _
& "Chaine de Caractere" & ";" & "Valeur Booleenne" & ";" & "Object
Cim" & ";" & "8 Bit Signé" & ";" _
& "8 Bit non Signé" & ";" & "16 Bit non Signé" & ";" & "32 Bit non
Signé" & ";" & "64 Bit Signé" & ";" _
& "64 Bit non Signé" & ";" & "Format Date" & ";" & "Réference a un
Object Cim" & ";" _
& "Caractere 16 Bit")


strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

For Each objclass in objWMIService.SubclassesOf()

intCounter=0

If Left(objClass.Path_.Class,5) = "Win32" Then

For Each Qualifier in objClass.Qualifiers_

If UCase(Trim(Qualifier.Name)) = "ASSOCIATION" Then

intCounter = 1

End If

Next

If x = 0 Then

strComputer = "."



Set objWMIService = GetObject
("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set strClass = objWMIService.Get(objClass.Path_.Class)

CompteurPropriete = 0

For each strItem in strClass.properties_

If strItem <> "" Then
CompteurPropriete = CompteurPropriete + 1
End If

Next

For each strItem in strClass.properties_
'-------------------------------------------------------------------------'
' ici je teste toutes les proprietes via .CIMType pour verifier a quelle '
' categorie elles appartiennent , suivant le resulat obtenu je place un '
' OUI dans la colonne correspondante (simple comme bonjour) '
'-------------------------------------------------------------------------'

If strItem.IsArray Then
UnTableau = "Tableau"
Else If Not strItem.IsArray Then
UnTableau = ""
End If
End If

If strItem.CIMType = 2 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & "Oui")
End If

If strItem.CIMType = 3 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & "Oui")
End If

If strItem.CIMType = 4 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 5 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & "Oui")
End If

If strItem.CIMType = 8 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & "Oui")
End If

If strItem.CIMType = 11 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 13 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 16 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 17 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 18 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 19 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 20 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 21 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
"Oui")
End If

If strItem.CIMType = 101 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & "Oui")
End If

If strItem.CIMType = 102 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & ";" & "Oui")
End If

If strItem.CIMType = 103 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";" &
UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & ";" & ";" & "Oui")
End If

Next

End If

Dim MonTableauMethode(1)

End If

Next

MaPropriete.Close


En vous remerciant par avance

Cordialement

5 réponses

Avatar
sympatix
bonjour

Dans le code ci-dessous (desole il est long) j'ai un probleme avec ma
declaration dim se trouvant a la fin Dim MonTableauMethode(0) (j'ai viré la
suite du programme pour ne rester axer que sur ce probleme) il me retourne
une erreur du style type incompatible MonTableauMethode.

franchement je rame grave la dessus, si quelqu'un avait une idee


Salut !

Même erreur que dans ton fil du 15.
A vue de nez, ta déclaration de variable
[Dim MonTableauMethode(1)] semble mal placée. En général, elles se placent
en tout début de code.
En plus, le fait qu'elle se trouve à l'intérieur d'une boucle if then me
parait hautement suspect.

--
Cordialement
sympatix
Antispam: Supprimer les "toto" pour me répondre

Avatar
jbongran
merlin01fr wrote:
bonjour

Dans le code ci-dessous (desole il est long) j'ai un probleme avec ma
declaration dim se trouvant a la fin Dim MonTableauMethode(0) (j'ai
viré la suite du programme pour ne rester axer que sur ce probleme)
il me retourne une erreur du style type incompatible
MonTableauMethode.

franchement je rame grave la dessus, si quelqu'un avait une idee

'----------------------------------------------------------------------'
' Creation d un fichier csv répertoriant en les classant dans la
bonne ' ' Colonne tous les types des proprietes des classes win32 de
cimv2 '
'----------------------------------------------------------------------'
' Origine : issu de scriptcenter.chm ce script permettait de lister
' ' L ensemble des proprietes des classes win32 ainsi que leurs
' ' Methodes, le script d origine est trouvable sous le nom de
' ' (Listing the Properties and Methods of the Win32 Classes)
' ' Merci aussi a pilosite et son site www.scriptovore.com
' ' Un grand expert du script se trouve derriere ce site et est pret
' ' a repondre a toutes vos questions
'
'----------------------------------------------------------------------'
'----------------------------------------------------------------------'
' Copyright du plagieur : Gauthier Lapoujade | Niveau : Debutant
' ' alias : merlin01fr ou nathan01fr |
'
'----------------------------------------------------------------------'
' Date de creation : 18/01/2006 | Derniere Maj : 18/01/2006
'
'----------------------------------------------------------------------'
' Modification apportée : la version d origine ne proposait qu un
' ' fichier texte de ligne mise les unes a la suite des autres (pas
tres ' ' pratique quand on recherche des infos sur un type de classe)
, on ' ' arrive a une bien meilleure visibilité quand on classifie
les ' ' informations trouvées. si vous ouvrez ce fichier sous
excel en mode ' ' texte vous optiendrez les informations suivantes
(en colonnes ) : ' ' Nom de la classe; Nom de la Propriete, type
1; type 2; type 3; ' ' il ne vous restera plus qu a creer un
filtre automatique sur les ' ' colonnes pour obtenir les
informations qui vous interessent '
'----------------------------------------------------------------------'
' Mon appreciation du script : assez pratique pour avoir une visue
sur ' ' les proprietes des classes , mais il reste a faire de meme
les ' ' methodes
'
'----------------------------------------------------------------------'

'------------------------------------------------------------------'
' Cette partie permet de creer les repertoires qui seront utiles a '
' l'extraction des classes wmi , changez le nom de ces repertoires '
' si vous le souhaitez le script se readaptera en fonction de vos '
' preferences '
'------------------------------------------------------------------'

RepDeBase = "c:Scripts"
SousRepDeBase = "c:ScriptsExtraction"
SousRepDeBaseBiblioGene = "c:ScriptsExtractionBibliotheque
Generale"

Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FolderExists(RepDeBase) Then
fso.CreateFolder(RepDeBase)
End If

If Not fso.FolderExists(SousRepDeBase) Then
fso.CreateFolder(SousRepDeBase)
End If

If Not fso.FolderExists(SousRepDeBaseBiblioGene) Then
fso.CreateFolder(SousRepDeBaseBiblioGene)
End If

'----------------------------------------------------------------------'
' je commence la creation du fichier csv ici en preparant les entetes
' ' de colonnes
'
'----------------------------------------------------------------------'

Set fso = CreateObject("Scripting.FileSystemObject")
Set MaPropriete = fso.CreateTextFile(SousRepDeBaseBiblioGene &
chr(92) & "Proprietes de classe.csv", True)

MaPropriete.WriteLine("Nom de la Classe" & ";" & "Nom de la
Propriete" & ";" & "UnTableau" & ";" _
& "16 Bit Signé" & ";" & "32 Bit Signé" & ";" & "32 Bit Reel" &
";" & "64 Bit Reel" & ";" _
& "Chaine de Caractere" & ";" & "Valeur Booleenne" & ";" &
"Object
Cim" & ";" & "8 Bit Signé" & ";" _
& "8 Bit non Signé" & ";" & "16 Bit non Signé" & ";" & "32 Bit
non Signé" & ";" & "64 Bit Signé" & ";" _
& "64 Bit non Signé" & ";" & "Format Date" & ";" & "Réference a
un Object Cim" & ";" _
& "Caractere 16 Bit")


strComputer = "."

Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")

For Each objclass in objWMIService.SubclassesOf()

intCounter=0

If Left(objClass.Path_.Class,5) = "Win32" Then

For Each Qualifier in objClass.Qualifiers_

If UCase(Trim(Qualifier.Name)) = "ASSOCIATION" Then

intCounter = 1

End If

Next

If x = 0 Then

strComputer = "."



Set objWMIService = GetObject
("winmgmts:{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2") Set strClass > objWMIService.Get(objClass.Path_.Class)

CompteurPropriete = 0

For each strItem in strClass.properties_

If strItem <> "" Then
CompteurPropriete = CompteurPropriete + 1
End If

Next

For each strItem in strClass.properties_
'-------------------------------------------------------------------------'
' ici je teste toutes les proprietes via .CIMType pour verifier a
quelle ' ' categorie elles appartiennent , suivant le resulat obtenu
je place un ' ' OUI dans la colonne correspondante (simple comme
bonjour) '
'-------------------------------------------------------------------------'

If strItem.IsArray Then
UnTableau = "Tableau"
Else If Not strItem.IsArray Then
UnTableau = ""
End If
End If

If strItem.CIMType = 2 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & "Oui")
End If

If strItem.CIMType = 3 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & "Oui")
End If

If strItem.CIMType = 4 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 5 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & "Oui")
End If

If strItem.CIMType = 8 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & "Oui")
End If

If strItem.CIMType = 11 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 13 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 16 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 17 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 18 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 19 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 20 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & "Oui")
End If

If strItem.CIMType = 21 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
"Oui")
End If

If strItem.CIMType = 101 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & "Oui")
End If

If strItem.CIMType = 102 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & ";" & "Oui")
End If

If strItem.CIMType = 103 Then
MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name & ";"
& UnTableau & ";" & ";" & ";" & _
";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & ";" & _
";" & ";" & ";" &
"Oui") End If

Next

End If

Dim MonTableauMethode(1)

End If

Next

MaPropriete.Close


En vous remerciant par avance

Cordialement


J'ai du mal à lire ton code mais il me semble que ta déclaration de tableau
se fait dans une boucle, donc, si c'est bien le cas, à la deuxième itération
le code se plante.
Lire un post récent qui indiquait d'utiliser les instruction dim, redim et
preserve...
Pour le hors sujet:
Pourquoi autant de concaténation de chaines ?
fso.CreateTextFile(SousRepDeBaseBiblioGene & chr(92) & "Proprietes de
classe.csv", True)
deviendrait
fso.CreateTextFile(SousRepDeBaseBiblioGene & "Proprietes de classe.csv",
True)

ou encore
MaPropriete.WriteLine("Nom de la Classe" & ";" & "Nom de la
Propriete" & ";" & "UnTableau" & ";" _
& "16 Bit Signé" & ";" & "32 Bit Signé" & ";" & "32 Bit Reel" &
";" & "64 Bit Reel" & ";" _
& "Chaine de Caractere" & ";" & "Valeur Booleenne" & ";" &
"Object
Cim" & ";" & "8 Bit Signé" & ";" _
& "8 Bit non Signé" & ";" & "16 Bit non Signé" & ";" & "32 Bit
non Signé" & ";" & "64 Bit Signé" & ";" _
& "64 Bit non Signé" & ";" & "Format Date" & ";" & "Réference a
un Object Cim" & ";" _
& "Caractere 16 Bit")
deviendrait

MaPropriete.WriteLine("Nom de la Classe;Nom de la Propriete;UnTableau;16 Bit
Signé;32 Bit Signé;32 Bit Reel;" _
"64 Bit Reel;Chaine de Caractere;Valeur Booleenne;Object Cim;8 Bit Signé;8
Bit non Signé;16 Bit non Signé;" _
"32 Bit non Signé;64 Bit Signé;64 Bit non Signé;Format Date;Réference a un
Object Cim;Caractere 16 Bit")

Pourquoi ne pas utiliser des subs et des fonctions pour rendre le code plus
clair (et maintenable), pour les opérations récurrentes:
Sub CheckFolder(strFolder)
If Not FolderExists(strFolder) Then fso.CreateFolder(strFolder)
End Sub

Call CheckFolder(RepDeBase)
Call CheckFolder(SousRepDeBase)
Call CheckFolder(SousRepDeBaseBiblioGene)

Pourquoi l'objet fso est-il instancié plusieurs fois, jamais détruit ni
déclaré ? (une bonne habitude est de mettre à la première ligne du code
Option Explicit, qui oblige à déclarer toute variable avant de pouvoir les
utiliser)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
... code...
Set fso = Nothing

Egalement, certaines mises en forme du code peuvent induire en erreur:
If strItem.IsArray Then
UnTableau = "Tableau"
Else If Not strItem.IsArray Then
UnTableau = ""
End If
End If
Doit il se lire:
If strItem.IsArray Then
UnTableau = "Tableau"
Else
If Not strItem.IsArray Then
UnTableau = ""
End If
End If
Ou bien si l'on considère qu'un espace est mal placé:
If strItem.IsArray Then
UnTableau = "Tableau"
ElseIf Not strItem.IsArray Then
UnTableau = ""
End If
End If
Ce qui fait toute la différence ;-)

Si c'est la première version, elle peut être simplifiée:
If strItem.IsArray Then
UnTableau = "Tableau"
Else
UnTableau = ""
End If

Une structure simplifiée peut économiser beaucoup de lignes:
Select Case strItem.CIMType
Case 2 intSepCount = 1
Case 3 intSepCount = 2
Case 4 intSepCount = 3
Case 5 intSepCount = 4
Case 8 intSepCount = 5
Case 11 intSepCount = 6
Case 13 intSepCount = 7
Case 16 intSepCount = 8
Case 17 intSepCount = 9
Case 18 intSepCount = 10
Case 19 intSepCount = 11
Case 20 intSepCount = 12
Case 21 intSepCount = 13
Case 101 intSepCount = 14
Case 102 intSepCount = 15
Case 103 intSepCount = 16
End Select

MaPropriete.WriteLine(objClass.Path_.Class & ";" & strItem.Name _
";" & UnTableau & String(intSepCount, ";") & "Oui")

Bon courage

Avatar
merlin01fr
Merci a sympatix et a jbongran pour leurs reponses

Concernant ta reponse sympatix , je supposais que mon erreur venait du fait
que mon Dim soit mal placé , merci de me l'avoir certifié

Merci aussi a toi jbongran pour tous ces commentaires que je vais eplucher
de ce pas (je suis pas sur de tout comprendre) mais ce se sont des
commentaires qui font plaisir (pour le debutant que je suis) ils sont basés
sur un script que je connais bien puisque je l'ai ecris , et ca c'est genial
comme didactique.

un tres grand merci a tous les deux :)

Tres cordialement
Avatar
merlin01fr
pour jbongran

Quand tu dis Case 2 intSepCount = 1

intSepCount correspond a expressionlist-n de la fonction case documente dans
le wscript56.chm ?

si oui merci beaucoup pour l'astuce, franchement c'est genial, et bien trop
mal documenté dans le wscript56.chm

Encore merci


Merci a sympatix et a jbongran pour leurs reponses

Concernant ta reponse sympatix , je supposais que mon erreur venait du fait
que mon Dim soit mal placé , merci de me l'avoir certifié

Merci aussi a toi jbongran pour tous ces commentaires que je vais eplucher
de ce pas (je suis pas sur de tout comprendre) mais ce se sont des
commentaires qui font plaisir (pour le debutant que je suis) ils sont basés
sur un script que je connais bien puisque je l'ai ecris , et ca c'est genial
comme didactique.

un tres grand merci a tous les deux :)

Tres cordialement



Avatar
jbongran
merlin01fr wrote:
pour jbongran

Quand tu dis Case 2 intSepCount = 1

intSepCount correspond a expressionlist-n de la fonction case
documente dans le wscript56.chm ?

si oui merci beaucoup pour l'astuce, franchement c'est genial, et
bien trop mal documenté dans le wscript56.chm

Encore merci


Merci a sympatix et a jbongran pour leurs reponses

Concernant ta reponse sympatix , je supposais que mon erreur venait
du fait que mon Dim soit mal placé , merci de me l'avoir certifié

Merci aussi a toi jbongran pour tous ces commentaires que je vais
eplucher de ce pas (je suis pas sur de tout comprendre) mais ce se
sont des commentaires qui font plaisir (pour le debutant que je
suis) ils sont basés sur un script que je connais bien puisque je
l'ai ecris , et ca c'est genial comme didactique.

un tres grand merci a tous les deux :)

Tres cordialement



C'est exactement ça ;-)
En gros si on traduit
Select Case MaVar -> En fonction de la valeur de la variable MaVar
Case 2 -> dans le cas ou MaVar vaut le chiffre 2
intCount = 1 -> la variable intCount vaudra 1
Case 3, 4 -> dans le cas ou MaVar vaut le chiffre 3 ou 4
intCount = 5 -> la variable intCount vaudra 5
Case Else -> Dans tous les autres cas
intCount = 10 -> la variable intCount vaudra 10
End Select -> Fin de l'évaluation de la variable MaVar

Si il n'y a (comme dans l'exemple donné) qu'une instruction suivant le Case,
celle-ci peut se trouver sur la même ligne, augmentant la compacité du code,
au détriment (leger) de sa lisibilité