Signaler

Problème erreur 91 [Résolu]

Posez votre question Lucas922 - Dernière réponse le 20 sept. 2016 à 10:55
Bonjour,
Bonjour,
J'ai une erreur au niveau de macro, l'erreur 91 apparaît lors de mon filtre. Pouvez vous m''aider cordialement. Je ne maîtrise pas VBA
La macro plante au niveau de l'instruction en gras
Merci beaucoup
''Tri des alertes
ActiveWorkbook.Sheets("Alertes").Activate
ActiveWorkbook.Worksheets("Alertes").Rows(ccc & ":" & ccc).Delete
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Add(Range( _
"E4:E5"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = _
RGB(255, 192, 0)
With ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Add(Range( _
"E4:E5"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = _
RGB(255, 0, 0)
With ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Afficher la suite 
Utile
+0
moins plus
Bonjour,

L'erreur 91, c'est parce que le filtre n'existe pas !

'Tri des alertes
With ActiveWorkbook.Worksheets("Alertes")
  .Activate
  .Rows(ccc & ":" & ccc).Delete
  If .AutoFilter Is Nothing Then
    .Range("A1").AutoFilter  'Ou autre si c'est pas la ligne 1
  Else
    .ShowAllData
    .AutoFilter.Sort.SortFields.Clear
  End If
  ' etc ...
End With

Cordialement
Patrice
Lucas922- 19 sept. 2016 à 10:34
J'ai une erreur au niveau de macro, l'erreur 91 apparaît lors de mon filtre. Pouvez vous m''aider cordialement. Je ne maîtrise pas VBA
La macro plante au niveau de l'instruction en gras
Merci beaucoup
''Tri des alertes
ActiveWorkbook.Sheets("Alertes").Activate
ActiveWorkbook.Worksheets("Alertes").Rows(ccc & ":" & ccc).Delete
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Add(Range( _
"E4:E5"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = _
RGB(255, 192, 0)
With ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort.SortFields.Add(Range( _
"E4:E5"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = _
RGB(255, 0, 0)
With ActiveWorkbook.Worksheets("Alertes").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Que dois-je corriger exactement ?
Cordialement
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Bonjour, merci pour votre aide mais meme après modifs la macro m'affiche toujours cette erreur
Patrice33740 4998Messages postés dimanche 13 juin 2010Date d'inscription 29 septembre 2016 Dernière intervention - 19 sept. 2016 à 14:48
Bonjour,

Essaies de remplacer ton code ci dessus par celui-ci (à adapter : si besoin remplacer A1 par la première cellule du tableau de données, i.e.en haut à droite) :
'Tri des alertes
With ActiveWorkbook.Worksheets("Alertes")
  .Activate
  .Rows(ccc & ":" & ccc).Delete
  If .AutoFilter Is Nothing Then
    .Range("A1").AutoFilter  'Ou autre si le tableau n'est pas en A1
  Else
    .ShowAllData
    .AutoFilter.Sort.SortFields.Clear
  End If
  With .AutoFilter.Sort
    .SortFields.Add(Range("E4:E5"), xlSortOnCellColor, xlAscending, , _
                    xlSortNormal).SortOnValue.Color = RGB(255, 192, 0)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
  End With
End With
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Merci beaucoup pour votre aide, votre code fonctionne !!
C'était bel et bien un problème de sélection du filtre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !