Problème autofilter

  • Initiateur de la discussion Initiateur de la discussion nic79
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nic79

XLDnaute Nouveau
J'ai créé un userform sur lequel une sélection de donnée se fait d'après deux listbox (données filtrées). Le résultat s'affiche dans une troisième listbox une fois que l'on a cliquer sur bouton de commande "Appliquer le filtre"; voici le code du bouton de commande :
Dim Critere As String
Dim Col As Byte
Dim Item As Integer
Dim i As Integer
Dim tabT() As String
Dim w As Worksheet
Set w = Worksheets(1)
Critere = ListDonnees2.Value
Col = CInt(ListDonnees1.Column(1, ListDonnees1.ListIndex))
ListFaillite.Clear



ReDim Preserve tabT(2, i)
For Item = 1 To UBound(tabtemp, 1)
If tabtemp(Item, Col) = Critere Then
With Me.ListFaillite

.ColumnCount = 2
.ColumnWidths = "60;60"
.AddItem tabtemp(Item, 1)
.Column(1, .ListCount - 1) = tabtemp(Item, 2)

End With
End If
Next
With Me.ListFaillite
.ColumnCount = 2

End With
Me.Label2.Caption = Me.ListFaillite.ListCount
End Sub

Malheureusement, si dans la colonne où est prise l'information, la cellule est vide, cela génère une erreur d'execution 94 - Utilisation incorecte de Null.

Débutant en vba, j'ai de la difficulté à résoudre ce problème, merci de m'aider.
 
Re : Problème autofilter

bonjour Nic

essaye avec le code suivant

Dim Critere As String
Dim Col As Byte
Dim Item As Integer
Dim i As Integer
Dim tabT() As String
Dim w As Worksheet
Set w = Worksheets(1)
Critere = ListDonnees2.Value
Col = ListDonnees1.Column(ListDonnees1.ListIndex, 1)

ReDim Preserve tabT(2, i)
For Item = 1 To UBound(tabtemp, 1)
If tabtemp(Item, Col) = Critere Then
With Me.ListFaillite
.Clear
.ColumnCount = 2
.ColumnWidths = "60;60"
.AddItem tabtemp(Item, 1)
.Column(.ListCount - 1, 1) = tabtemp(Item, 2)
End With
End If
Next
'With Me.ListFaillite
'.ColumnCount = 2
'
'End With
Me.Label2.Caption = Me.ListFaillite.ListCount
End Sub

à bientôt
 
Re : Problème autofilter

Salut nicolas
Salut Christian
pour ce qui est du problème il suffit je pense de faire un test si des infos on étaient récupérer si non on sort avant de tenter de coller les infox je regarderai ce soir
arff ta question veut dire que des lignes peuvent avoir des colonnes non renseigné peux tu mettre un exemple de ce cas de figure merci
Bonne journée
 
Re : Problème autofilter

J'ai finalement réussi à trouver une solution.

Ce n'est peut être pas terrible, mais le code ne bloque plus; voici mon idée :

If ListDonnees2.Value = "" Then
MsgBox "Aucune donnée saisie, veuillez faire un autre choix", vbCritical, "GestFaillites 1.00"
Me.Label2.Caption = "Néant"

End If
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
300
Réponses
1
Affichages
188
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
540
Réponses
3
Affichages
676
Retour