Erreur système &H8000FFF (2147418113)

Bonjour,

Ces messages m'apparaissent à chaque fois que je travaille sur le fichier

SVP , y a-t-il une solution?

Merci

sans titre1 sans titre sans titre4

Bonjour,

Sans fichier difficile de trouver mais pour commencer la première image indique l'erreur.

Votre fichier contiend une "list" et le paramètre de la liste n'est pas bon.

Utilisez l'option de Débogage comme affiché sur votre image pour voir les lignes vba sur lesquels le plantage arrive.

Bonjour,

Désolé pour le retard;

Toujours le même problème;
Le problème est souvent dans listbox3 (page3);

Le message apparaît après avoir ouvert le programme plusieurs fois (environ 30 fois).

Merci

sans titre1
18classeur3.xlsm (48.07 Ko)

Bonjour,

Ça part mal > il n'y a pas de listbox3 dans ton fichier ...

Si c'est un nouveau fichier pour soumettre ton code > est-ce que c'est bien tout le code de ton fichier d'origine qui pose problème ?

ric

Bonjour ric ,
Je suis vraiment désolé;
Vous avez modifié le message et le fichier ;
Nouveau fichier

43classeur3.xlsm (48.07 Ko)
Je m'excuse encore une fois;
Je pense que le problème est d'ajouter ce code à la UserForm_Initialize ;
With ThisWorkbook.Worksheets("H1")
    u = .Cells(Rows.Count, "A").End(xlUp).Row Or .Cells(Rows.Count, "B").End(xlUp).Row
    ListBox3.List = .Range("A2:G" & u).Value
 End With

Merci

Bonjour,

J'avoue manquer beaucoup d'expertise en le domaine ...

Mais quand même > je propose quelques corrections ...

En espérant que cela va améliorer un tantinet la chose ...

Option Base 1
Public aa

Private Sub UserForm_Activate()
Me.MultiPage1.Value = 2
End Sub

Private Sub UserForm_Initialize()
Dim i&, bb, cc, Y&, a&, u As Long

ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox1.ColumnWidths = "70;75;150;100;00;00;00;00"
ListBox2.ColumnWidths = "67;65;150;90;00;00;00;00;90;00;00;00"
ListBox3.ColumnWidths = "85;83;55;155;80;80;30;00"

    With ThisWorkbook.Worksheets("Feuil1")
         aa = .Range("A2:M" & .Range("A" & .Rows.Count).End(xlUp).Row)
         End With
    Y = 1
    ReDim bb(13, Y)
    For i = 1 To UBound(aa)

        If aa(i, 7) = "X" Then
        If aa(i, 9) <> "" Then
        If aa(i, 6) <> "M2" Then
        If aa(i, 8) <> "160" Then
        If aa(i, 8) <> "161" Then
        If aa(i, 4) >= CDate("01/01/2020") Then
        If aa(i, 4) <= CDate("31/12/2020") Then
        If aa(i, 13) = "" Then
        If IsError(aa(i, 1)) Then GoTo 1
            ReDim Preserve bb(13, Y)
            For a = 1 To 13
                bb(a, Y) = aa(i, a)
            Next a
            Y = Y + 1
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
1   Next i
    ReDim cc(UBound(bb, 2), UBound(bb))
    For i = 1 To UBound(bb, 2)
        For a = 1 To UBound(bb)
            cc(i, a) = bb(a, i)
        Next a
    Next i
    With ListBox1
        .List = cc
        End With

    Y = 1
    ReDim bb(13, Y)
    For i = 1 To UBound(aa)
        If aa(i, 7) = "X" Then
        If aa(i, 9) <> "" Then
        If aa(i, 6) <> "M2" Then
        If aa(i, 8) <> "160" Then
        If aa(i, 8) <> "161" Then
        If aa(i, 4) >= CDate("1 / 1 / 2020") Then
        If aa(i, 4) <= CDate("31 / 12 / 2020") Then
        If aa(i, 13) <> "" Then
        If IsError(aa(i, 1)) Then GoTo 2
            ReDim Preserve bb(13, Y)
            For a = 1 To 13
                bb(a, Y) = aa(i, a)
            Next a
            Y = Y + 1
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
2   Next i
    ReDim cc(UBound(bb, 2), UBound(bb))
    For i = 1 To UBound(bb, 2)
        For a = 1 To UBound(bb)
            cc(i, a) = bb(a, i)
        Next a
    Next i
    With ListBox2
        .List = cc
        End With

  With ThisWorkbook.Worksheets("H1")
    u = .Cells(.Rows.Count, "A").End(xlUp).Row '''Or .Cells(.Rows.Count, "B").End(xlUp).Row
    ListBox3.List = .Range("A2:G" & u).Value
  End With

  Erase aa
  Erase bb
  Erase cc
End Sub

ric

Merci beaucoup pour votre attention ric

Le problème existe toujours ( Si ouvert plusieurs fois).

Bonjour,

Est-ce que tu peux nous expliquer comment reproduire le souci ?

( Si ouvert plusieurs fois) > le fichier ou le userform > si c'est le userform > quelle opération est-ce que tu fais ...

ric

Bonsoir,

Le problème est d'ouvrir et de fermer le userform plusieurs fois;

soit:

1

ou

2

Je pense que le problème est de combiner ces deux codes

With ThisWorkbook.Worksheets("Feuil1")
         aa = .Range("A2:M" & Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row)
         End With
    Y = 1
    ReDim bb(13, Y)
    For i = 1 To UBound(aa)

        If aa(i, 7) = "X" Then
        If aa(i, 9) <> "" Then
        If aa(i, 6) <> "M2" Then
        If aa(i, 8) <> "160" Then
        If aa(i, 8) <> "161" Then
        If aa(i, 4) >= CDate("1 / 1 / 2020") Then
        If aa(i, 4) <= CDate("31 / 12 / 2020") Then
        If aa(i, 13) = "" Then
        If IsError(aa(i, 1)) Then GoTo 1
            ReDim Preserve bb(13, Y)
            For a = 1 To 13
                bb(a, Y) = aa(i, a)
            Next a
            Y = Y + 1
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
1   Next i
    ReDim cc(UBound(bb, 2), UBound(bb))
    For i = 1 To UBound(bb, 2)
        For a = 1 To UBound(bb)
            cc(i, a) = bb(a, i)
        Next a
    Next i
    With ListBox1
        .List = cc
        End With

    Y = 1
    ReDim bb(13, Y)
    For i = 1 To UBound(aa)
        If aa(i, 7) = "X" Then
        If aa(i, 9) <> "" Then
        If aa(i, 6) <> "M2" Then
        If aa(i, 8) <> "160" Then
        If aa(i, 8) <> "161" Then
        If aa(i, 4) >= CDate("1 / 1 / 2020") Then
        If aa(i, 4) <= CDate("31 / 12 / 2020") Then
        If aa(i, 13) <> "" Then
        If IsError(aa(i, 1)) Then GoTo 2
            ReDim Preserve bb(13, Y)
            For a = 1 To 13
                bb(a, Y) = aa(i, a)
            Next a
            Y = Y + 1
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
2   Next i
    ReDim cc(UBound(bb, 2), UBound(bb))
    For i = 1 To UBound(bb, 2)
        For a = 1 To UBound(bb)
            cc(i, a) = bb(a, i)
        Next a
    Next i
    With ListBox2
        .List = cc
        End With

et

  With ThisWorkbook.Worksheets("H1")
    u = .Cells(Rows.Count, "A").End(xlUp).Row Or .Cells(Rows.Count, "B").End(xlUp).Row
    ListBox3.List = .Range("A2:G" & u).Value
  End With

Lorsque l’un d’eux est désactivé, le problème ne demeure pas.

Merci

Bonjour,

Je viens d'ouvrir et fermer le userform plus de 120 fois sans aucune erreur.

Dans le dernier bout de code > je crois qu'il manque les points devant les Rows.Count ..

  With ThisWorkbook.Worksheets("H1")
    u = .Cells(.Rows.Count, "A").End(xlUp).Row '''Or .Cells(.Rows.Count, "B").End(xlUp).Row
    ListBox3.List = .Range("A2:G" & u).Value
  End With

Il y a aussi une observation que j'ai faite et dont je n'en connais pas la raison ...

Pourquoi la variable tableau "aa" est déclarée publique contrairement aux deux autres "bb" et "cc"

Par contre, je dois mentionner que j'utilise Excel 365 français en version 32 bits ...

Enfin, dans ton code d'origine, les 3 variables tableau ne sont pas vidées à la fin du code ...

Une façon de le faire ...

  Erase aa
  Erase bb
  Erase cc

ric

Merci beaucoup pour vos efforts et votre attention ric,

Le problème peut provenir de la version du Excel...

Je vais essayer une autre façon...

Merci une autre fois ric

Cordialement.

Bonjour,

S'assurer que la suite Office soit à jour > ainsi que Windows ...

ric

Rechercher des sujets similaires à "erreur systeme h8000fff 2147418113"