Bonjour à tous du forum,
J'utilise un fichier Excel avec 10 feuilles et 5 Userform. Le fichier fonctionne, tous les macro et code vba des 5 Userform fonctionnent.
J'ai renommé le fichier et ajouté un 6 Userform.Lorsque je veux démarrer un Userform précis, je reçois un bug !, même si rien a été changé dans cet Userform. Les 5 autres Userform fonctionnent.
Le bug est dans le tri d'un listview et le message indiqué est : "erreur d'exécution 13, incompatibilité de type". Mais ce même code vba fonctionne très bien dans le fichier initial et rien n'a été changé dans cet Userform. J'ai exécuté la macro pas à pas avec le déboggage (F8) en vérifiant au niveau de chaque ligne les valeurs dans les données et le bug est dans la procédure ci-dessous :
Public Sub Tri(ByRef ctl As ListView, ByVal k As Byte)
With ctl
.SortKey = k
If k = 1 Then
For i = 1 To .ListItems.Count
.ListItems(i).ListSubItems(1).Text = CDec(CDate(.ListItems(i).ListSubItems(1)))
Next i
.SortOrder = lvwAscending
.Sorted = True
For i = 1 To .ListItems.Count
.ListItems(i).ListSubItems(1).Text = Format(CDate(.ListItems(i).ListSubItems(1).Text), "DD/MM/YYYY")
Next i
Else
.Sorted = False
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
.Sorted = True
End If
End With
End Sub
Je ne sais pas quel est l'erreur, car dans le fichier initial avec le même Userform, il n'y a pas de bug.
Je n'ai pas joints le fichier, comme le fichier est de 1,6 MB.
Comment résoudre?,
merci d'avance d'astuces éventuels,
news
J'utilise un fichier Excel avec 10 feuilles et 5 Userform. Le fichier fonctionne, tous les macro et code vba des 5 Userform fonctionnent.
J'ai renommé le fichier et ajouté un 6 Userform.Lorsque je veux démarrer un Userform précis, je reçois un bug !, même si rien a été changé dans cet Userform. Les 5 autres Userform fonctionnent.
Le bug est dans le tri d'un listview et le message indiqué est : "erreur d'exécution 13, incompatibilité de type". Mais ce même code vba fonctionne très bien dans le fichier initial et rien n'a été changé dans cet Userform. J'ai exécuté la macro pas à pas avec le déboggage (F8) en vérifiant au niveau de chaque ligne les valeurs dans les données et le bug est dans la procédure ci-dessous :
Public Sub Tri(ByRef ctl As ListView, ByVal k As Byte)
With ctl
.SortKey = k
If k = 1 Then
For i = 1 To .ListItems.Count
.ListItems(i).ListSubItems(1).Text = CDec(CDate(.ListItems(i).ListSubItems(1)))
Next i
.SortOrder = lvwAscending
.Sorted = True
For i = 1 To .ListItems.Count
.ListItems(i).ListSubItems(1).Text = Format(CDate(.ListItems(i).ListSubItems(1).Text), "DD/MM/YYYY")
Next i
Else
.Sorted = False
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
.Sorted = True
End If
End With
End Sub
Je ne sais pas quel est l'erreur, car dans le fichier initial avec le même Userform, il n'y a pas de bug.
Je n'ai pas joints le fichier, comme le fichier est de 1,6 MB.
Comment résoudre?,
merci d'avance d'astuces éventuels,
news
Dernière édition: