Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro suppression lignes

  • Initiateur de la discussion Initiateur de la discussion cyrille68
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cyrille68

Guest
Bonjour,

est-ce que quelqu'un connaît la macro qui me permet de supprimer toutes les lignes dans différentes feuilles à partir d'une ligne précise...
Càd, que pour une ligne dans une feuille jai une ligne dans toutes les autres feuilles.
J'aimerais un bouton qui me permette de tout supprimer d'un coup, à partir d'un numéro de ligne qui sera le même pour chaque feuille.

Merci
 
Re : macro suppression lignes

Bonjour cyrille68,

Par exemple :

Code:
Sub SupLignes()
Dim lig As Long, w As Worksheet
lig = Application.InputBox("Numéro de la 1ère ligne :", "Supprimer les lignes", , , , , , 1)
If lig > 0 And lig < 65536 Then
  For Each w In Worksheets
    w.Rows(lig & ":65536").Delete
  Next
End If
End Sub

A+
 
Re : macro suppression lignes

Re,

Une solution un peu meilleure :

Code:
Sub SupLignes()
Dim lig, w As Worksheet
On Error Resume Next
1 lig = InputBox("Numero de la 1ère ligne :", "Supprimer les lignes")
For Each w In Worksheets
  w.Rows(Int(lig) & ":65536").Delete
Next
If lig <> "" And Err Then Err = 0: GoTo 1
End Sub

A+
 
Re : macro suppression lignes

Re-

et merci.

Comment faire en sorte maintenant de n'effectuer l'opération que sur certaines pages (ou renseigner le nom des pages??)...en fait sur toutes sauf sur la première ou j'ai déjà une userform et ou je vais mettre le nouveau bouton de suppression des lignes...
merci d'avance!

Cyrille
 
Re : macro suppression lignes

Comment faire en sorte maintenant de n'effectuer l'opération que sur certaines pages (ou renseigner le nom des pages??)...en fait sur toutes sauf sur la première

Code:
Sub SupLignes()
Dim lig, i As Integer
On Error Resume Next
1 lig = InputBox("Numero de la 1ère ligne :", "Supprimer les lignes")
For i = 2 To Worksheets.Count
  Worksheets(i).Rows(Int(lig) & ":65536").Delete
Next
If lig <> "" And Err Then Err = 0: GoTo 1
End Sub

ou bien aussi :

Code:
Sub SupLignes()
Dim lig, w As Worksheet
On Error Resume Next
1 lig = InputBox("Numero de la 1ère ligne :", "Supprimer les lignes")
For Each w In Worksheets
  If w.Name <> "TOTO" Then w.Rows(Int(lig) & ":65536").Delete 'TOTO => nom de la feuille à éviter
Next
If lig <> "" And Err Then Err = 0: GoTo 1
End Sub

Edit : mais le mieux c'est d'utiliser le CodeName de la feuille, plus difficile à modifier :

Code:
Sub SupLignes()
Dim lig, w As Worksheet
On Error Resume Next
1 lig = InputBox("Numero de la 1ère ligne :", "Supprimer les lignes")
For Each w In Worksheets
  If w.[COLOR="Red"]CodeName[/COLOR] <> "Feuil1" Then w.Rows(Int(lig) & ":65536").Delete
Next
If lig <> "" And Err Then Err = 0: GoTo 1
End Sub

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
265
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…