Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une
ligne/2 dans une sélection variable dans une feuille ?
Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment génial.
merci encore !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Luminous,
Essaie ceci :
'-------------------------------- Sub SupprimerUneLigneSurDeux()
Dim Rg As Range, A As Long Set Rg = Selection
If TypeName(Selection) <> "Range" Then Exit Sub If Selection.Cells.Rows.Count < 2 Then Exit Sub
For A = Rg.Rows.Count To 1 Step -2 If A < 1 Then Exit For Rg(A).Resize(, Rg.Columns.Count).Delete xlUp Next Set Rg = Nothing
End Sub '--------------------------------
Salutations!
"luminous" a écrit dans le message de news: Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic droit, lancer cette suppression. Ce serait vraiment génial. merci encore !
Bonjour Luminous,
Essaie ceci :
'--------------------------------
Sub SupprimerUneLigneSurDeux()
Dim Rg As Range, A As Long
Set Rg = Selection
If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Cells.Rows.Count < 2 Then Exit Sub
For A = Rg.Rows.Count To 1 Step -2
If A < 1 Then Exit For
Rg(A).Resize(, Rg.Columns.Count).Delete xlUp
Next
Set Rg = Nothing
End Sub
'--------------------------------
Salutations!
"luminous" <marcv@lycos.com> a écrit dans le message de news:9a73033e.0408091228.289a12cc@posting.google.com...
Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une
ligne/2 dans une sélection variable dans une feuille ?
Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment génial.
merci encore !
'-------------------------------- Sub SupprimerUneLigneSurDeux()
Dim Rg As Range, A As Long Set Rg = Selection
If TypeName(Selection) <> "Range" Then Exit Sub If Selection.Cells.Rows.Count < 2 Then Exit Sub
For A = Rg.Rows.Count To 1 Step -2 If A < 1 Then Exit For Rg(A).Resize(, Rg.Columns.Count).Delete xlUp Next Set Rg = Nothing
End Sub '--------------------------------
Salutations!
"luminous" a écrit dans le message de news: Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic droit, lancer cette suppression. Ce serait vraiment génial. merci encore !
dadda
Bonjour ; Ceci marchera. si tu veux que la première ligne à supprimer soit la deuxième tu appliquera le code ci-après tel quel. Si tu veux que la prière à supprimer soit la première tu remplacera le premier 2 par 1.
Sub SupprimerUneLigneSurDeux() For i = 2 To Selection.Count Step 2 Selection.Rows(i).ClearContents Next End Sub
Cordialement
Dadda
-----Message d'origine----- Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une
ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment génial.
merci encore !
Bonjour ;
Ceci marchera. si tu veux que la première ligne à supprimer
soit la deuxième tu appliquera le code ci-après tel quel.
Si tu veux que la prière à supprimer soit la première tu
remplacera le premier 2 par 1.
Sub SupprimerUneLigneSurDeux()
For i = 2 To Selection.Count Step 2
Selection.Rows(i).ClearContents
Next
End Sub
Cordialement
Dadda
-----Message d'origine-----
Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour
supprimer une
ligne/2 dans une sélection variable dans une feuille ?
Idéalement, en sélectionnant une zone, j'aimerais à
l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment
génial.
Bonjour ; Ceci marchera. si tu veux que la première ligne à supprimer soit la deuxième tu appliquera le code ci-après tel quel. Si tu veux que la prière à supprimer soit la première tu remplacera le premier 2 par 1.
Sub SupprimerUneLigneSurDeux() For i = 2 To Selection.Count Step 2 Selection.Rows(i).ClearContents Next End Sub
Cordialement
Dadda
-----Message d'origine----- Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une
ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment génial.
merci encore !
Hervé
Salut, La proc fonctionne de la manière suivante, si la sélection de cellules est faite sur au moins 3 lignes (ex : A1 > A3) un bouton ("Supprimer 1 sur 2") est rajouté en fin de menu clic droit pour supprimer une ligne sur deux, sinon, ce bouton est détruit. En mettant le code comme indiqué ci-dessous dans le module du classeur, ceci fonctionne sur toutes les feuilles.
A mettre dans le module du ThisWorkbook : '----------------------------------- Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _ ByVal Target As Range, _ Cancel As Boolean) 'si la sélection de cellules est faite sur 'au moins 3 lignes, ajoute un bouton dans 'le menu du clic droit, sinon, détruit ce 'bouton If TypeName(Selection) = "Range" _ And Selection.Rows.Count > 2 Then CreerBouton Else SupprimerBouton End If End Sub '----------------------------------
A mettre dans un module standard : '---------------------------------- Sub CreerBouton() Dim Barre As CommandBar Dim Btn As CommandBarButton
Set Barre = Application.CommandBars("Cell") On Error Resume Next With Barre .Controls("Supprimer 1 sur 2").Delete Set Btn = .Controls.Add(msoControlButton, 293) With Btn .Caption = "Supprimer 1 sur 2" .OnAction = "Supprimer1Sur2" .BeginGroup = True End With End With
Set Btn = Nothing Set Barre = Nothing End Sub
Sub Supprimer1Sur2() Dim Plage As Range Dim I As Long
If TypeName(Selection) = "Range" _ And Selection.Rows.Count > 2 Then Set Plage = Selection For I = Plage.Rows.Count To 1 Step -2 Plage.Rows(I).EntireRow.Delete Next I End If
Set Plage = Nothing End Sub
Sub SupprimerBouton() Dim Barre As CommandBar
Set Barre = Application.CommandBars("Cell") On Error Resume Next Barre.Controls("Supprimer 1 sur 2").Delete
Set Barre = Nothing End Sub '---------------------------------------
Hervé.
"luminous" a écrit dans le message news:
Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic droit, lancer cette suppression. Ce serait vraiment génial. merci encore !
Salut,
La proc fonctionne de la manière suivante, si la sélection de cellules est
faite sur au moins 3 lignes (ex : A1 > A3) un bouton ("Supprimer 1 sur 2")
est rajouté en fin de menu clic droit pour supprimer une ligne sur deux,
sinon, ce bouton est détruit. En mettant le code comme indiqué ci-dessous
dans le module du classeur, ceci fonctionne sur toutes les feuilles.
A mettre dans le module du ThisWorkbook :
'-----------------------------------
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _
ByVal Target As Range, _
Cancel As Boolean)
'si la sélection de cellules est faite sur
'au moins 3 lignes, ajoute un bouton dans
'le menu du clic droit, sinon, détruit ce
'bouton
If TypeName(Selection) = "Range" _
And Selection.Rows.Count > 2 Then
CreerBouton
Else
SupprimerBouton
End If
End Sub
'----------------------------------
A mettre dans un module standard :
'----------------------------------
Sub CreerBouton()
Dim Barre As CommandBar
Dim Btn As CommandBarButton
Set Barre = Application.CommandBars("Cell")
On Error Resume Next
With Barre
.Controls("Supprimer 1 sur 2").Delete
Set Btn = .Controls.Add(msoControlButton, 293)
With Btn
.Caption = "Supprimer 1 sur 2"
.OnAction = "Supprimer1Sur2"
.BeginGroup = True
End With
End With
Set Btn = Nothing
Set Barre = Nothing
End Sub
Sub Supprimer1Sur2()
Dim Plage As Range
Dim I As Long
If TypeName(Selection) = "Range" _
And Selection.Rows.Count > 2 Then
Set Plage = Selection
For I = Plage.Rows.Count To 1 Step -2
Plage.Rows(I).EntireRow.Delete
Next I
End If
Set Plage = Nothing
End Sub
Sub SupprimerBouton()
Dim Barre As CommandBar
Set Barre = Application.CommandBars("Cell")
On Error Resume Next
Barre.Controls("Supprimer 1 sur 2").Delete
Set Barre = Nothing
End Sub
'---------------------------------------
Hervé.
"luminous" <marcv@lycos.com> a écrit dans le message news:
9a73033e.0408091228.289a12cc@posting.google.com...
Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une
ligne/2 dans une sélection variable dans une feuille ?
Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic
droit, lancer cette suppression. Ce serait vraiment génial.
merci encore !
Salut, La proc fonctionne de la manière suivante, si la sélection de cellules est faite sur au moins 3 lignes (ex : A1 > A3) un bouton ("Supprimer 1 sur 2") est rajouté en fin de menu clic droit pour supprimer une ligne sur deux, sinon, ce bouton est détruit. En mettant le code comme indiqué ci-dessous dans le module du classeur, ceci fonctionne sur toutes les feuilles.
A mettre dans le module du ThisWorkbook : '----------------------------------- Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _ ByVal Target As Range, _ Cancel As Boolean) 'si la sélection de cellules est faite sur 'au moins 3 lignes, ajoute un bouton dans 'le menu du clic droit, sinon, détruit ce 'bouton If TypeName(Selection) = "Range" _ And Selection.Rows.Count > 2 Then CreerBouton Else SupprimerBouton End If End Sub '----------------------------------
A mettre dans un module standard : '---------------------------------- Sub CreerBouton() Dim Barre As CommandBar Dim Btn As CommandBarButton
Set Barre = Application.CommandBars("Cell") On Error Resume Next With Barre .Controls("Supprimer 1 sur 2").Delete Set Btn = .Controls.Add(msoControlButton, 293) With Btn .Caption = "Supprimer 1 sur 2" .OnAction = "Supprimer1Sur2" .BeginGroup = True End With End With
Set Btn = Nothing Set Barre = Nothing End Sub
Sub Supprimer1Sur2() Dim Plage As Range Dim I As Long
If TypeName(Selection) = "Range" _ And Selection.Rows.Count > 2 Then Set Plage = Selection For I = Plage.Rows.Count To 1 Step -2 Plage.Rows(I).EntireRow.Delete Next I End If
Set Plage = Nothing End Sub
Sub SupprimerBouton() Dim Barre As CommandBar
Set Barre = Application.CommandBars("Cell") On Error Resume Next Barre.Controls("Supprimer 1 sur 2").Delete
Set Barre = Nothing End Sub '---------------------------------------
Hervé.
"luminous" a écrit dans le message news:
Bonjour à tous,
Pourriez vous SVP m'aider à trouver le moyen en VBA pour supprimer une ligne/2 dans une sélection variable dans une feuille ? Idéalement, en sélectionnant une zone, j'aimerais à l'aide d'un clic droit, lancer cette suppression. Ce serait vraiment génial. merci encore !