Bonjour le forum,
Je voudrais demander votre aide afin de résoudre un problème complexe (pour mon niveau). J’ai un fichier avec plusieurs feuilles dont les onglets « results », « 1 », « 2 », « 3 » , « form».
Je voudrais bien mettre dans l’onglet « results » un bouton pour effacer toutes les données apparaissant dans ces cinq onglets sans toucher la première ligne (titres des colonnes).
J’ai essayé d’utiliser le code
Sub Supp_Data()
Application.DisplayAlerts = False
Sheets(Array ("results", « form », « 1 », « 2 », « 3 »).Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Application.DisplayAlerts = True
End Sub
Mais ça ne marchait pas sans aucune idée pourquoi.
J’utilise le code suivant :
Sub Supp_Data()
Application.DisplayAlerts = False
Sheets("results").Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Sheets("form").Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Sheets("1").Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Sheets("2").Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Sheets("3").Select
ff = 2 + Application.WorksheetFunction.CountA(Range("A:A"))
Range("2:" & ff).Delete
Application.DisplayAlerts = True
End Sub
Malheureusement, cette macro efface toutes les lignes sur l’onglet « results » tandis que sur des autres onglets elle efface les données parcellement, pas toutes les lignes à la fois.
Où je me suis trompé avec la première macro ?
Est-il possible de la modifier ?
Petite remarque : la quantité des lignes de chaque onglet peut varier de 0 jusqu’au « plusieurs » et être différente entre eux.
Merci d’avance pour votre aide !