Bonjour,
Comme dit dans le titre mon fichier excel crash lors de l’exécution d'une macro :
Sub tableau()
der_ligne = Workbooks("encours.xlsm").Worksheets("En cours (2)").Range("A" & Rows.Count).End(xlUp).Row
Workbooks("encours.xlsm").Worksheets("En cours (2)").ListObjects.Add(xlSrcRange, Workbooks("encours.xlsm").Worksheets("En cours (2)").Range("$A$1:$H" & der_ligne), , xlYes).Name = "table_entiere"
For i = 2 To der_ligne
If Cells(i, 8) <> "" Then
'Workbooks("encours.xlsm").Worksheets("En cours (2)").ListObjects("table_entiere").Range.AutoFilter Field:=8, Criteria1:="=" 'FAIT CRASH EXCEL
Exit For
End If
Next
Workbooks("encours.xlsm").Worksheets("En cours (2)").ListObjects("table_entiere").Sort.SortFields.Clear
Workbooks("encours.xlsm").Worksheets("En cours (2)").ListObjects("table_entiere").Sort.SortFields.Add Key:=Range("table_entiere[[#All],[Nom client final]]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Workbooks("encours.xlsm").Worksheets("En cours (2)").ListObjects("table_entiere").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
après quelque passe sur le mode pas à pas j'en ai déduit la ligne en commentaire étant responsable du crash.
Avez-vous des idées de pourquoi il crash ?
pour expliquer simplement la macro, on créé un tableau de A1 à H dernière ligne qu'on nome "table_entiere"
ensuite si dans la colonne 8 on croise une case qui n'est pas vide on tri le tableau afin qu'il ne reste que les ligne ou la cellule est vide dans cette colonne
enfin on tri le tableau afin d'avoir les "nom client final" tri par ordre alphabétique.
Si vous avez des questions en plus n'hésitez pas
Bien cordialement.
Arthur