Sur une feuille excel un utilisateur peut, =E0 l'aide d'un bouton de
commande, ajouter un groupe de ligne. L'instruction de la macro est
d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi =E9liminer un groupe de
ligne s'ils ont commis une erreur. Il est =E0 noter que le groupe de
ligne s'ins=E8re toujours sur la ligne suivant une ligne pouvant =EAtre
divis=E9e par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule
active soit =E9limin=E9 si l'usager clique sur un bouton. Par exemple, peu
importe si la cellule active se trouve en cellule A19, A20, A21, A22,
ou A23, il faudrait que le bloc ajout=E9 de A19 =E0 A23 soit =E9limin=E9...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par
6 au-dessus la ligne active, et =E9limine les cinq autres suivantes....
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
Philippe.R
Bonsoir,
Ceci devrait pouvoir convenir
Sub sup5() lalig = ActiveCell.Row For z = lalig To 1 Step -1 If Int(z / 6) = z / 6 Then Range(Cells(z + 1, 1), _ Cells(z + 5, 256)) _ .EntireRow.Delete Exit Sub End If Next z End Sub
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de commande, ajouter un groupe de ligne. L'instruction de la macro est d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de ligne s'ils ont commis une erreur. Il est à noter que le groupe de ligne s'insère toujours sur la ligne suivant une ligne pouvant être divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule active soit éliminé si l'usager clique sur un bouton. Par exemple, peu importe si la cellule active se trouve en cellule A19, A20, A21, A22, ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par 6 au-dessus la ligne active, et élimine les cinq autres suivantes....
J'espère que c'est compréhensible....
Merci pour votre temps...
Denys
Bonsoir,
Ceci devrait pouvoir convenir
Sub sup5()
lalig = ActiveCell.Row
For z = lalig To 1 Step -1
If Int(z / 6) = z / 6 Then
Range(Cells(z + 1, 1), _
Cells(z + 5, 256)) _
.EntireRow.Delete
Exit Sub
End If
Next z
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Denys" <denys.perreault@rbc.com> a écrit dans le message de
news:2da386ac-a374-49d9-b66d-2bf3b88cd316@u31g2000yqb.googlegroups.com...
Bonjour à tous,
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de
commande, ajouter un groupe de ligne. L'instruction de la macro est
d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de
ligne s'ils ont commis une erreur. Il est à noter que le groupe de
ligne s'insère toujours sur la ligne suivant une ligne pouvant être
divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule
active soit éliminé si l'usager clique sur un bouton. Par exemple, peu
importe si la cellule active se trouve en cellule A19, A20, A21, A22,
ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par
6 au-dessus la ligne active, et élimine les cinq autres suivantes....
Sub sup5() lalig = ActiveCell.Row For z = lalig To 1 Step -1 If Int(z / 6) = z / 6 Then Range(Cells(z + 1, 1), _ Cells(z + 5, 256)) _ .EntireRow.Delete Exit Sub End If Next z End Sub
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de commande, ajouter un groupe de ligne. L'instruction de la macro est d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de ligne s'ils ont commis une erreur. Il est à noter que le groupe de ligne s'insère toujours sur la ligne suivant une ligne pouvant être divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule active soit éliminé si l'usager clique sur un bouton. Par exemple, peu importe si la cellule active se trouve en cellule A19, A20, A21, A22, ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par 6 au-dessus la ligne active, et élimine les cinq autres suivantes....
J'espère que c'est compréhensible....
Merci pour votre temps...
Denys
michdenis
Bonjour,
Essaie ceci :
Ce qui suit supprime les lignes complètes de 19 à 24 de 25 à 30 inclusivement
Sub test() Dim Ligne As Long, X As Long Ligne = ActiveCell.Row X = Ligne Mod 6 With ActiveCell If .Row >= 19 Then If X = 0 Then ActiveCell.Resize(6).EntireRow.EntireRow.Delete Else Cells(.Row - (X - 1), .Column).Resize(6).EntireRow.delete End If End If End With End Sub
"Denys" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de commande, ajouter un groupe de ligne. L'instruction de la macro est d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de ligne s'ils ont commis une erreur. Il est à noter que le groupe de ligne s'insère toujours sur la ligne suivant une ligne pouvant être divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule active soit éliminé si l'usager clique sur un bouton. Par exemple, peu importe si la cellule active se trouve en cellule A19, A20, A21, A22, ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par 6 au-dessus la ligne active, et élimine les cinq autres suivantes....
J'espère que c'est compréhensible....
Merci pour votre temps...
Denys
Bonjour,
Essaie ceci :
Ce qui suit supprime les lignes complètes
de 19 à 24 de 25 à 30 inclusivement
Sub test()
Dim Ligne As Long, X As Long
Ligne = ActiveCell.Row
X = Ligne Mod 6
With ActiveCell
If .Row >= 19 Then
If X = 0 Then
ActiveCell.Resize(6).EntireRow.EntireRow.Delete
Else
Cells(.Row - (X - 1), .Column).Resize(6).EntireRow.delete
End If
End If
End With
End Sub
"Denys" <denys.perreault@rbc.com> a écrit dans le message de groupe de discussion :
2da386ac-a374-49d9-b66d-2bf3b88cd316@u31g2000yqb.googlegroups.com...
Bonjour à tous,
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de
commande, ajouter un groupe de ligne. L'instruction de la macro est
d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de
ligne s'ils ont commis une erreur. Il est à noter que le groupe de
ligne s'insère toujours sur la ligne suivant une ligne pouvant être
divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule
active soit éliminé si l'usager clique sur un bouton. Par exemple, peu
importe si la cellule active se trouve en cellule A19, A20, A21, A22,
ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par
6 au-dessus la ligne active, et élimine les cinq autres suivantes....
Ce qui suit supprime les lignes complètes de 19 à 24 de 25 à 30 inclusivement
Sub test() Dim Ligne As Long, X As Long Ligne = ActiveCell.Row X = Ligne Mod 6 With ActiveCell If .Row >= 19 Then If X = 0 Then ActiveCell.Resize(6).EntireRow.EntireRow.Delete Else Cells(.Row - (X - 1), .Column).Resize(6).EntireRow.delete End If End If End With End Sub
"Denys" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Sur une feuille excel un utilisateur peut, à l'aide d'un bouton de commande, ajouter un groupe de ligne. L'instruction de la macro est d'aller copier un groupe de ligne et de le coller sur la page active.
Cependant, je voudrais qu'ils puissent aussi éliminer un groupe de ligne s'ils ont commis une erreur. Il est à noter que le groupe de ligne s'insère toujours sur la ligne suivant une ligne pouvant être divisée par six. (ligne 19, 25, 31, etc....)
Je voudrais que le bloc de cinq lignes sur lequel se trouve la cellule active soit éliminé si l'usager clique sur un bouton. Par exemple, peu importe si la cellule active se trouve en cellule A19, A20, A21, A22, ou A23, il faudrait que le bloc ajouté de A19 à A23 soit éliminé...
En fait, il faudrait qu'excel aille chercher la ligne se divisant par 6 au-dessus la ligne active, et élimine les cinq autres suivantes....
J'espère que c'est compréhensible....
Merci pour votre temps...
Denys
Denys
Bonsoir Philippe et denis,
Merci messieurs....ma fin de semaine commencera plus tôt grâce à vous...
Bonne soirée
Denys
Bonsoir Philippe et denis,
Merci messieurs....ma fin de semaine commencera plus tôt grâce à
vous...
Merci messieurs....ma fin de semaine commencera plus tôt grâce à vous...
Bonne soirée
Denys
michdenis
écris de cette façon, c'est mieux !
'------------------------------------ Sub test() Dim X As Long With ActiveCell X = .Row Mod 6 If .Row >= 19 Then If X = 0 Then .Offset(-5).Resize(6).EntireRow.EntireRow.Delete Else .Offset(-(X - 1)).Resize(6).EntireRow.Delete End If End If End With End Sub '------------------------------------
"Denys" a écrit dans le message de groupe de discussion :
Bonsoir Philippe et denis,
Merci messieurs....ma fin de semaine commencera plus tôt grâce à vous...
Bonne soirée
Denys
écris de cette façon, c'est mieux !
'------------------------------------
Sub test()
Dim X As Long
With ActiveCell
X = .Row Mod 6
If .Row >= 19 Then
If X = 0 Then
.Offset(-5).Resize(6).EntireRow.EntireRow.Delete
Else
.Offset(-(X - 1)).Resize(6).EntireRow.Delete
End If
End If
End With
End Sub
'------------------------------------
"Denys" <denys.perreault@rbc.com> a écrit dans le message de groupe de discussion :
5982f668-0b8e-40fa-a720-dbfa889bf7a4@z7g2000yqb.googlegroups.com...
Bonsoir Philippe et denis,
Merci messieurs....ma fin de semaine commencera plus tôt grâce à
vous...
'------------------------------------ Sub test() Dim X As Long With ActiveCell X = .Row Mod 6 If .Row >= 19 Then If X = 0 Then .Offset(-5).Resize(6).EntireRow.EntireRow.Delete Else .Offset(-(X - 1)).Resize(6).EntireRow.Delete End If End If End With End Sub '------------------------------------
"Denys" a écrit dans le message de groupe de discussion :
Bonsoir Philippe et denis,
Merci messieurs....ma fin de semaine commencera plus tôt grâce à vous...