macro suppression lignes

cyrille68

XLDnaute Nouveau
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
 

job75

XLDnaute Barbatruc
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+
 

job75

XLDnaute Barbatruc
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+
 

cyrille68

XLDnaute Nouveau
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
 

job75

XLDnaute Barbatruc
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:

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 813
Membres
104 672
dernier inscrit
robaine salah