Excel Problème VBA Code erreur "9"

Fermé
rwdesign Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un soucis que je n'arrive pas a résoudre ...

je fait un filtre avec une listbox sur plusieurs feuilles de mon classeur excel , mais j'ai cette erreur que je n'arrive pas a enlever ...

voici le code :

Option Explicit

Dim v(10000, 6) As String
Dim nbV As Long

Private Sub CommandButton2_Click()
Me.Hide
End Sub



Private Sub Label5_Click()

End Sub

Private Sub ListView1_DblClick()
Dim indice As Long
indice = ListView1.SelectedItem.Tag
With ThisWorkbook.Sheets(v(indice, 0))
.Select
.Range("B" & CLng(v(indice, 6)) & ":G" & CLng(v(indice, 6))).Select
End With
End Sub

Private Sub TextBox1_Change()
AfficherVecteur
End Sub

Private Sub TextBox2_Change()
AfficherVecteur
End Sub

Private Sub TextBox3_Change()
AfficherVecteur
End Sub

Private Sub TextBox4_Change()
AfficherVecteur
End Sub

Private Sub TextBox5_Change()
AfficherVecteur
End Sub

Private Sub TextBox6_Change()
AfficherVecteur
End Sub

Private Sub UserForm_Initialize()
Dim f As Worksheet
Dim i As Long
Dim r As Range
nbV = 0
For Each f In ThisWorkbook.Worksheets
Set r = f.Range("B16")

If f.Name <> "Accueil" Then
For i = 2 To f.Range("B65536").End(xlUp).Row
nbV = nbV + 1
v(nbV, 0) = Trim(r.Offset(i - 1, 0))
v(nbV, 1) = Trim(r.Offset(i - 1, 1))
v(nbV, 2) = Trim(r.Offset(i - 1, 2))
v(nbV, 3) = Trim(r.Offset(i - 1, 3))
v(nbV, 4) = Trim(r.Offset(i - 1, 4))
v(nbV, 5) = Trim(r.Offset(i - 1, 5))
v(nbV, 6) = i
Next i
End If
Next

AfficherVecteur
End Sub

Function AfficherVecteur()
ListView1.ListItems.Clear
Dim i As Long
For i = 0 To nbV
If Valide(i) Then AjoutListe i
Next i
End Function

Function Valide(i) As Boolean
Valide = ((v(i, 0) = TextBox1 Or TextBox1 = "") And _
(v(i, 1) = TextBox2 Or TextBox2 = "") And _
(v(i, 2) = TextBox3 Or TextBox3 = "") And _
(v(i, 3) = TextBox4 Or TextBox4 = "") And _
(v(i, 4) = TextBox5 Or TextBox5 = "") And _
(v(i, 5) = TextBox6 Or TextBox6 = ""))
End Function

Function AjoutListe(i)
Dim j As Long
With ListView1
.ListItems.Add , , v(i, 0)
For j = 1 To 5
.ListItems.Item(.ListItems.Count).ListSubItems.Add , , v(i, j)
Next j
.ListItems.Item(.ListItems.Count).Tag = i
End With
End Function



A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Il faut arrêter de dire :
- ça ne marche pas,
- ça ne fonctionne pas,
- le résultat n'est pas ce que j'attends.
Mais plutôt :
- j'ai une erreur de type : "blabla", qui dit que : "blabla", lorsque je clique sur débogage, la ligne suivante est surlignée en jaune : "ligne"
Voici ce que je souhaites faire :
blablablablablabla
Je vous joint un fichier pour que vous puissiez mieux appréhender le problème.
pour joindre un fichier :
mettre le classeur sans données confidentielles en pièce jointe sur

https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse *

Dans l'état de cette discussion, nous ne pouvons rien de plus pour vous.


*copyright Michel_m
1
tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   190
 
Je "plussoie" des deux index, et il faut arrêter d'écrire "sa" à la place de "ça", ça induit en erreur mais pas sa.
0
rwdesign Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
je vais faire sa et je vous dit
0
tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   190
 
Après chaque "function", tu peux écrire :
On Error Resume Next
-1
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
C'est certainement la moins bonne, même la pire manière de traiter une erreur. D'autant plus que tu réponds sans même connaitre l'erreur!
Chapeau!...
0
rwdesign Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
en tout cas , sa ne fonctionnent toujours pas même avec "On Error Resume Next" ...
0
tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   190
 
Bonjour,
Certes, tu as raison, mais sans connaître l'erreur, j'ai vite vu que ce code VBA sortait d'un drôle de chapeau, alors aux grands maux...
0
rwdesign Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
"TUXBOY" c'est bon sa marche j'ai corriger moi même mon code ... Je poste jamais d'aide sur les forums car je trouve sa inutile , sa vient de confirmer ce que je pensais ...

Cordialement
0
tuxboy Messages postés 995 Date d'inscription   Statut Membre Dernière intervention   190
 
Bravo, tu es le meilleur et bel esprit, ne change rien, c'est parfait.
0