VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009
-
26 oct. 2007 à 10:12
VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009
-
26 oct. 2007 à 10:51
Bonjours
voilà je vais vous montrer en premier lieu le bout de script qui concerne mon piti problème,
assez important tout de même
SCRIPT :
<ol><li>Private Sub Crea_cablage_shéma_Click()
</li><li>Dim j As Integer, k As Integer, i As Integer, c As Integer, iC As Integer, l As _
</li><li> Integer
</li><li>Dim l As Integer, Lg_Split As Integer
</li><li>Dim V_Split() As String, Char_Interdit As String, Case_A As String, Case_T As _
</li><li> String, Case_U As String
</li><li>Dim D_Lec_Dig_C As Integer, F_Lec_Dig_C As Integer, Lec_Dig_I As Integer
</li><li>Dim Verif_1 As Integer, Verif_2 As Integer, Verif_3 As Integer, Verif_4 As _
</li><li> Integer, Verif_5 As Integer
</li><li>Dim Verif_6 As Integer, Verif_7 As Integer, Verif_8 As Integer, Verif_9 As _
</li><li> Integer, Verif_10 As Integer
</li><li>Dim Verif_11 As Integer, Verif_12 As Integer, Verif_13 As Integer, Verif_14 As _
</li><li> Integer, Verif_15 As Integer
</li><li>Lec_Dig_I = 1
</li><li>D_Lec_Dig_C = 5
</li><li>F_Lec_Dig_C = 19
</li><li>j = 3
</li><li>k = 3
</li><li>l = 75
</li><li>While Sheets("info_HFH").Range("A" & j) <> ""
</li><li>'Initialisation des variables utilisées dans le second while
</li><li> k = 3
</li><li> While Sheets("Cablage_Digit_HFH").Range("A" & k) <> ""
</li><li>'Initialisation de la variable de vérification
</li><li> "Verif_" & Lec_Dig_I = 1
</li><li>'Vérification Digit par Digit
</li><li> For c = D_Lec_Dig_C To F_Lec_Dig_C
</li><li> V_Split = Split(Sheets("Cablage_Digit_HFH").Cells(k, c), ",", _
</li><li> -1, vbTextCompare)
</li><li> Lg_Split = UBound(V_Split)
</li><li> If Lg_Split <> -1 Then
</li><li> For iC = 0 To CInt(Lg_Split)
</li><li> If Left(V_Split(iC), 1) = "/" Then
</li><li>'Création du caractère interdit, si besoin est
</li><li> Char_Interdit = Right(V_Split(iC), 1)
</li><li> If Sheet("info_HFH").Cells(j, Lec_Dig_I) = _
</li><li> Char_Interdit Then
</li><li> "Verif_" & Lec_Dig_I = 0
</li><li> iC = CInt(Lg_Split)
</li><li> Else
</li><li> "Verif_" & Lec_Dig_I = 1
</li><li> Else
</li><li> If Sheet("info_HFH").Cells(j, Lec_Dig_I) <> _
</li><li> V_Split(iC) Then
</li><li> "Verif_" & Lec_Dig_I = 0
</li><li> iC = CInt(Lg_Split)
</li><li> Else
</li><li> "Verif_" & Lec_Dig_I = 1
</li><li> End If
</li><li> Next iC
</li><li> Else
</li><li> "Verif_" & Lec_Dig_I = 1
</li><li> End If
</li><li> Lec_Dig_I = Lec_Dig_I + 1
</li><li> Next c
</li><li>'Si tout les digit sont OK, alors recopie
</li><li> If Verif_1 = 1 And Verif_2 = 1 And Verif_3 = 1 And Verif_4 = 1 And _
</li><li> Verif_5 = 1 And _
</li><li> Verif_6 = 1 And Verif_7 = 1 And Verif_8 = 1 And Verif_9 = 1 And _
</li><li> Verif_10 = 1 And _
</li><li> Verif_11 = 1 And Verif_12 = 1 And Verif_13 = 1 And Verif_14 = 1 And _
</li><li> Verif_15 = 1 _
</li><li> Then
</li><li> Case_A = Sheets("Cablage_Digit_HFH").Range("A" & k)
</li><li> Case_T = Sheets("Cablage_Digit_HFH").Range("T" & k)
</li><li> Case_U = Sheets("Cablage_Digit_HFH").Range("U" & k)
</li><li> While Sheets("info_HFH").Cells(j, l) <> ""
</li><li> l = l + 1
</li><li> Wend
</li><li> Sheets("info_HFH").Cells(j, l) = Case_A & "," & Case_T _
</li><li> & "," & Case_U
</li><li> End If
</li><li> k = k + 1
</li><li> Wend
</li><li>Wend
</li><li>End Sub</li></ol>, ----
(Coloration syntaxique automatique par Kenji)
Voilà les lignes en rouges sont celle qui me pose problème
je penser serieusement que si par exemple mon Lec_Dig_I = 1 alors
"Verif_" & Lec_Dig_I serais équivalent à --> Verif_1
Mais le compilateur me sors :
Erreur de compilation:
Attendu : Numéro de ligne ou étiquette ou instruction ou fin d'instruction
Si vous pouviez me dire comment créer ma variable avec comme chiffre de fin la valeur de la variable Lec_Dig_I celà m'aiderais fortement, en vous remerciant d'avance ^^
MerZi ... Zi ... Zi ... PtitCat
P.S:DSL pour l'orthographe
A voir également:
Petit problème de variable ... "Verif_" & Lec_Dig_I = 1
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 26 oct. 2007 à 10:47
Ca va faire mal, mais je vais te le dire brutalement ! Ca n'est pas possible !
Mais tu as une solution :
Plutot que de faire n variable Verif_1, Verif_2 , .... Verif_n de type integer, fais un tableau d'integer :
Dim Verif(1 To 15) As integer
Et ensuite tu pourras faire :
Verif(1) = 0
Verif(15) = 125
... ou ...
Verif(Lect_Dig_I) = 1