Bonsoir à tous,
je souhaite créer une fiche de suivi sur plusieurs onglets.
Les joueurs sont tous ajoutés sur un onglet général mais sont présents en colonne A de chacun des autres onglets (outil tableau).
J'ai construit une macro de façon à ce qu'on puisse supprimer un joueur à partir de l'onglet général et que l'ensemble des lignes correspondantes à ce joueur dans les autres onglets soient supprimées.
Cependant, le message d'erreur suivant s'affiche : La méthode Delete de la classe range a échoué (Déboguer VBA)
voici la macro :
Sub suppr_total()
Dim cellRecherche As Range, Mot As String
Mot = InputBox("Joueur à supprimer", "Effacement ligne")
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete => c'est elle qui est surlignée en jaune dans l'erreur.
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
Wend
Dim ws As Worksheet
Sheets("Feuil1").Select
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
Dim I As Integer
For I = [A65000].End(xlUp).Row To 1 Step -1
If Not Cells(I, 1).Resize(1, 6).Find("#REF!") Is Nothing Then Rows(I).Delete
Next I
Next ws
Sheets("Feuil1").Select
End Sub
MERCI D'AVANCE,
Lucas
je souhaite créer une fiche de suivi sur plusieurs onglets.
Les joueurs sont tous ajoutés sur un onglet général mais sont présents en colonne A de chacun des autres onglets (outil tableau).
J'ai construit une macro de façon à ce qu'on puisse supprimer un joueur à partir de l'onglet général et que l'ensemble des lignes correspondantes à ce joueur dans les autres onglets soient supprimées.
Cependant, le message d'erreur suivant s'affiche : La méthode Delete de la classe range a échoué (Déboguer VBA)
voici la macro :
Sub suppr_total()
Dim cellRecherche As Range, Mot As String
Mot = InputBox("Joueur à supprimer", "Effacement ligne")
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete => c'est elle qui est surlignée en jaune dans l'erreur.
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
Wend
Dim ws As Worksheet
Sheets("Feuil1").Select
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
Dim I As Integer
For I = [A65000].End(xlUp).Row To 1 Step -1
If Not Cells(I, 1).Resize(1, 6).Find("#REF!") Is Nothing Then Rows(I).Delete
Next I
Next ws
Sheets("Feuil1").Select
End Sub
MERCI D'AVANCE,
Lucas