Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appliquer une macro à un ensemble de feuilles

5 réponses
Avatar
Greg
Bonjour à tous,

Comment faire appliquer une macro à un ensemble de feuilles. Dans mon cas
précis, je souhaite qu'elle élimine des lignes quand la valeur dans la
colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:

Sub test()
Dim i As Integer
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
End Sub

Je dois appliquer ça sur 12 feuilles, et je me demandais si je pouvais le
faire en une fois...?

Merci de votre aide

Greg

5 réponses

Avatar
Philippe.R
Bonjour,
En supposant qu'il s'agisse des feuilles 1 à 12 :

Sub test()
Dim i As Integer, j as integer
for j=1 to 12
sheets(j).activate
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
next j
End Sub

devrait pouvoir convenir
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour à tous,

Comment faire appliquer une macro à un ensemble de feuilles. Dans mon cas
précis, je souhaite qu'elle élimine des lignes quand la valeur dans la
colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:

Sub test()
Dim i As Integer
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
End Sub

Je dois appliquer ça sur 12 feuilles, et je me demandais si je pouvais le
faire en une fois...?

Merci de votre aide

Greg




Avatar
Thierry
Bonjour,
une petite variante à la solution de Philippe:

Sub test2()
Dim i As Integer, j As Integer
For j = 1 To 3
With Sheets(j)
For i = 28 To 1 Step -1
If .Cells(i, 3) = "0" Then
.Rows(i).Delete
End If
Next i
End With
Next j
End Sub

Bon dimanche...
Thierry.R

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
OtAIum$
Bonjour,
En supposant qu'il s'agisse des feuilles 1 à 12 :

Sub test()
Dim i As Integer, j as integer
for j=1 to 12
sheets(j).activate
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
next j
End Sub

devrait pouvoir convenir
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
> Bonjour à tous,
>
> Comment faire appliquer une macro à un ensemble de feuilles. Dans mon


cas
> précis, je souhaite qu'elle élimine des lignes quand la valeur dans la
> colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:
>
> Sub test()
> Dim i As Integer
> For i = 28 To 1 Step -1
> If Cells(i, 3) = "0" Then
> Rows(i).Delete
> End If
> Next i
> End Sub
>
> Je dois appliquer ça sur 12 feuilles, et je me demandais si je pouvais


le
> faire en une fois...?
>
> Merci de votre aide
>
> Greg
>
>



Avatar
Greg
Bonjour et merci à tous les deux!

Je suppose que je mets le code dans "ThisWorkbook", non?

Quant à la macro, je peux l'activer de n'importe quelle feuille?

à plus

Greg

"Thierry" a écrit dans le message de
news:
Bonjour,
une petite variante à la solution de Philippe:

Sub test2()
Dim i As Integer, j As Integer
For j = 1 To 3
With Sheets(j)
For i = 28 To 1 Step -1
If .Cells(i, 3) = "0" Then
.Rows(i).Delete
End If
Next i
End With
Next j
End Sub

Bon dimanche...
Thierry.R

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
OtAIum$
Bonjour,
En supposant qu'il s'agisse des feuilles 1 à 12 :

Sub test()
Dim i As Integer, j as integer
for j=1 to 12
sheets(j).activate
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
next j
End Sub

devrait pouvoir convenir
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
> Bonjour à tous,
>
> Comment faire appliquer une macro à un ensemble de feuilles. Dans mon


cas
> précis, je souhaite qu'elle élimine des lignes quand la valeur dans la
> colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:
>
> Sub test()
> Dim i As Integer
> For i = 28 To 1 Step -1
> If Cells(i, 3) = "0" Then
> Rows(i).Delete
> End If
> Next i
> End Sub
>
> Je dois appliquer ça sur 12 feuilles, et je me demandais si je pouvais


le
> faire en une fois...?
>
> Merci de votre aide
>
> Greg
>
>







Avatar
Philippe.R
Re Greg,
AMHA, un module ordinaire serait plus approprié que ThisWorkbook
Tu pourras néanmoins appeler la macro d'où tu voudras
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour et merci à tous les deux!

Je suppose que je mets le code dans "ThisWorkbook", non?

Quant à la macro, je peux l'activer de n'importe quelle feuille?

à plus

Greg

"Thierry" a écrit dans le message de
news:
Bonjour,
une petite variante à la solution de Philippe:

Sub test2()
Dim i As Integer, j As Integer
For j = 1 To 3
With Sheets(j)
For i = 28 To 1 Step -1
If .Cells(i, 3) = "0" Then
.Rows(i).Delete
End If
Next i
End With
Next j
End Sub

Bon dimanche...
Thierry.R

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
OtAIum$
Bonjour,
En supposant qu'il s'agisse des feuilles 1 à 12 :

Sub test()
Dim i As Integer, j as integer
for j=1 to 12
sheets(j).activate
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
next j
End Sub

devrait pouvoir convenir
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
> Bonjour à tous,
>
> Comment faire appliquer une macro à un ensemble de feuilles. Dans mon


cas
> précis, je souhaite qu'elle élimine des lignes quand la valeur dans la
> colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:
>
> Sub test()
> Dim i As Integer
> For i = 28 To 1 Step -1
> If Cells(i, 3) = "0" Then
> Rows(i).Delete
> End If
> Next i
> End Sub
>
> Je dois appliquer ça sur 12 feuilles, et je me demandais si je pouvais


le
> faire en une fois...?
>
> Merci de votre aide
>
> Greg
>
>










Avatar
Greg
Merci encore!

Greg

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re Greg,
AMHA, un module ordinaire serait plus approprié que ThisWorkbook
Tu pourras néanmoins appeler la macro d'où tu voudras
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour et merci à tous les deux!

Je suppose que je mets le code dans "ThisWorkbook", non?

Quant à la macro, je peux l'activer de n'importe quelle feuille?

à plus

Greg

"Thierry" a écrit dans le message de
news:
Bonjour,
une petite variante à la solution de Philippe:

Sub test2()
Dim i As Integer, j As Integer
For j = 1 To 3
With Sheets(j)
For i = 28 To 1 Step -1
If .Cells(i, 3) = "0" Then
.Rows(i).Delete
End If
Next i
End With
Next j
End Sub

Bon dimanche...
Thierry.R

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
OtAIum$
Bonjour,
En supposant qu'il s'agisse des feuilles 1 à 12 :

Sub test()
Dim i As Integer, j as integer
for j=1 to 12
sheets(j).activate
For i = 28 To 1 Step -1
If Cells(i, 3) = "0" Then
Rows(i).Delete
End If
Next i
next j
End Sub

devrait pouvoir convenir
--
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/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
> Bonjour à tous,
>
> Comment faire appliquer une macro à un ensemble de feuilles. Dans mon


cas
> précis, je souhaite qu'elle élimine des lignes quand la valeur dans
> la
> colonne 3 est égale à O (jusqu'à la ligne 28). Pour info:
>
> Sub test()
> Dim i As Integer
> For i = 28 To 1 Step -1
> If Cells(i, 3) = "0" Then
> Rows(i).Delete
> End If
> Next i
> End Sub
>
> Je dois appliquer ça sur 12 feuilles, et je me demandais si je
> pouvais


le
> faire en une fois...?
>
> Merci de votre aide
>
> Greg
>
>