'Scinder une ligne de txt
nn =3D Split(Txt(i), " ")
' On r=C3=A9cup=C3=A8re un nom
' et =C3=A9viter d'avoir le chiffre en dernier
' dans certain noms (0,1 ou 2)
If Len(nn(UBound(nn) - 1)) > 1 Then
n =3D nn(UBound(nn) - 1)
Else
n =3D nn(UBound(nn) - 2)
End If
' Doublures de noms de sites
' Test si des noms se r=C3=A9p=C3=A8tent dans le tableau Txt
If IsInArray(n, Array("CC", "Trt", "Frn", "Sgr", "Ksr Chl")) Then
' If n =3D "Frenda" Then MsgBox "Frenda !!"
EstDans =3D Application.Match(n, Application.Index(TbRacc, 1), 0=
)
' EstDans =3D Application.VLookup(n, TbRacc, 2,=
False)
If IsError(EstDans) Then
On Error GoTo 0
r =3D r + 1
lr =3D r
ReDim Preserve TbRacc(1 To 2, 1 To r)
TbRacc(1, r) =3D n: TbRacc(2, r) =3D TbRacc(2, r) + h
Else
TbRacc(2, lr) =3D TbRacc(2, lr) + h
End If
Else
r =3D r + 1
ReDim Preserve TbRacc(1 To 2, 1 To r)
TbRacc(1, r) =3D n: TbRacc(2, r) =3D h
' MsgBox "Ajout du site : " & n & vbCrLf & _
"Avec Abn Raccor : " & h
End If
Next i
End Sub
Public Function IsInArray(stringToBeFound As String, arr As Variant) As Boo=
lean
Dim i
For i =3D LBound(arr) To UBound(arr)
' If arr(i) =3D stringToBeFound Then
If InStr(1, arr(i), stringToBeFound) > 0 Then
IsInArray =3D True
Exit Function
End If
Next i
IsInArray =3D False
End Function
'------------------------------------------=20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Cette variable "TbRacc" est déclarée comme tableau (array) mais en aucun moment tu n'as défini le contenu de ce tableau. C'est ce pour quoi tu obtiens ce message d'erreur lors de l'exécution de cette ligne de code : EstDans = Application.Match(n, Application.Index(TbRacc, 1), 0) Et la variable "EstDans" devrait déclarer As Variant. MichD
Bonjour,
Cette variable "TbRacc" est déclarée comme tableau (array) mais en aucun
moment tu n'as défini le contenu de ce tableau. C'est ce pour quoi tu
obtiens ce message d'erreur lors de l'exécution de cette ligne de code :
EstDans = Application.Match(n, Application.Index(TbRacc, 1), 0)
Et la variable "EstDans" devrait déclarer As Variant.
Bonjour, Cette variable "TbRacc" est déclarée comme tableau (array) mais en aucun moment tu n'as défini le contenu de ce tableau. C'est ce pour quoi tu obtiens ce message d'erreur lors de l'exécution de cette ligne de code : EstDans = Application.Match(n, Application.Index(TbRacc, 1), 0) Et la variable "EstDans" devrait déclarer As Variant. MichD
Apitos
Bonjour MichD, TbRacc ne contient aucune valeur de départ. TbRacc est alimenté selon des critères. On peut dire faire des sous totaux de valeurs en Txt() dans TbRacc(). De mon exemple : Txt(1) = "----->> Ksr Chl 0 [19]" Txt(2) = "----->> Ksr Chl 1 [21]" Txt(3) = "----->> Zmlt [30]" Txt(4) = "----->> Srg [4]" Txt(5) = "----->> Rchg [5]" Txt(6) = "----->> Hmd [26]" Txt(7) = "----->> Frn 0 [73]" Txt(8) = "----->> Frn 1 [89]" Txt(9) = "----->> Mdrs [15]" Txt(10) = "----->> Tghm [12]" Le tableau TbRacc obtenu sera : TbRacc(1, 1) = "Chl" TbRacc(1, 2) = "Zmlt" TbRacc(1, 3) = "Srg" TbRacc(1, 4) = "Rchg" TbRacc(1, 5) = "Hmd" TbRacc(1, 6) = "Frn" TbRacc(1, 7) = "Mdrs" TbRacc(1, 8) = "Tghm" TbRacc(2, 1) = 40 ' 19+21 TbRacc(2, 2) = 30 TbRacc(2, 3) = 4 TbRacc(2, 4) = 5 TbRacc(2, 5) = 26 TbRacc(2, 6) = 162 ' 73+89 TbRacc(2, 7) = 15 TbRacc(2, 8) = 12
Bonjour MichD,
TbRacc ne contient aucune valeur de départ.
TbRacc est alimenté selon des critères.
On peut dire faire des sous totaux de valeurs en Txt() dans TbRacc().
Bonjour MichD, TbRacc ne contient aucune valeur de départ. TbRacc est alimenté selon des critères. On peut dire faire des sous totaux de valeurs en Txt() dans TbRacc(). De mon exemple : Txt(1) = "----->> Ksr Chl 0 [19]" Txt(2) = "----->> Ksr Chl 1 [21]" Txt(3) = "----->> Zmlt [30]" Txt(4) = "----->> Srg [4]" Txt(5) = "----->> Rchg [5]" Txt(6) = "----->> Hmd [26]" Txt(7) = "----->> Frn 0 [73]" Txt(8) = "----->> Frn 1 [89]" Txt(9) = "----->> Mdrs [15]" Txt(10) = "----->> Tghm [12]" Le tableau TbRacc obtenu sera : TbRacc(1, 1) = "Chl" TbRacc(1, 2) = "Zmlt" TbRacc(1, 3) = "Srg" TbRacc(1, 4) = "Rchg" TbRacc(1, 5) = "Hmd" TbRacc(1, 6) = "Frn" TbRacc(1, 7) = "Mdrs" TbRacc(1, 8) = "Tghm" TbRacc(2, 1) = 40 ' 19+21 TbRacc(2, 2) = 30 TbRacc(2, 3) = 4 TbRacc(2, 4) = 5 TbRacc(2, 5) = 26 TbRacc(2, 6) = 162 ' 73+89 TbRacc(2, 7) = 15 TbRacc(2, 8) = 12
MichD
Ce n'est pas à moi que tu dois dire ce que contient le tableau TbRacc() mais tu dois définir ta variable dans la procédure. Quand cette dernière essaie de résoudre cette ligne de code, ton tableau TbRacc() est vide. Si tu veux que la procédure passe par dessus cette erreur, tu dois utiliser la ligne de code "On Error Resume Next". Cependant, il serait surprenant que tu réussisses à obtenir le résultat attendu. EstDans = Application.Match(n, Application.Index(TbRacc, 1), 0) MichD
Ce n'est pas à moi que tu dois dire ce que contient le tableau TbRacc() mais
tu dois définir ta variable dans la procédure. Quand cette dernière essaie
de résoudre cette ligne de code, ton tableau TbRacc() est vide. Si tu veux
que la procédure passe par dessus cette erreur, tu dois utiliser la ligne de
code "On Error Resume Next". Cependant, il serait surprenant que tu
réussisses à obtenir le résultat attendu.
Ce n'est pas à moi que tu dois dire ce que contient le tableau TbRacc() mais tu dois définir ta variable dans la procédure. Quand cette dernière essaie de résoudre cette ligne de code, ton tableau TbRacc() est vide. Si tu veux que la procédure passe par dessus cette erreur, tu dois utiliser la ligne de code "On Error Resume Next". Cependant, il serait surprenant que tu réussisses à obtenir le résultat attendu. EstDans = Application.Match(n, Application.Index(TbRacc, 1), 0) MichD