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

Suppression cellule par vba

4 réponses
Avatar
Angelus
Bonjour

Je voulais supprimé les données des cellules D4 à I2000 sur toute les
feuilles sauf la feuille "liste" et "index"
Je joint la commande que j'ai tester : où est le beug? y a t il une moyen
plus simple de l'écrire?
MERCI !

Private Sub CommandButton5_Click()
Sheets (Array "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25",
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38")).Select
Sheets("1").Activate
Range("D4:I2000").Select
Selection.ClearContents
Range("D4").Select
Sheets("liste").Select
End Sub

4 réponses

Avatar
Céline
bonjour angelus
je n'ai pas testé ta macro mais je peux te proposer quelque chose pour
la simplifier

Private sub CommandButton5_Click()
for i = 1 to 38
With worksheets(i)
if worksheets(i).name <> "liste" and worksheets(i).name <>
"index" then
.activate
.Range("D4:I2000).select
Selection.clearcontents
.range("D4").select
end if
end with
Worksheets("liste").activate
end sub

remarques :
si tu as un nombre de feuilles différent de 38 et que tu veux que ca
marche tu fais

Private sub CommandButton5_Click()
for each feuille in worksheets
with feuille
if .name <> "liste" and .name <> "index" then
.activate
.range("D4:I2000").clear
.Range("D4").select
end if
end with
next feuille
worksheets("liste").activate
end sub

en espérant t'avoir aidé
Céline



Bonjour

Je voulais supprimé les données des cellules D4 à I2000 sur toute l es
feuilles sauf la feuille "liste" et "index"
Je joint la commande que j'ai tester : où est le beug? y a t il une moy en
plus simple de l'écrire?
MERCI !

Private Sub CommandButton5_Click()
Sheets (Array "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "1 2",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", " 25",
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38")).Select
Sheets("1").Activate
Range("D4:I2000").Select
Selection.ClearContents
Range("D4").Select
Sheets("liste").Select
End Sub


Avatar
Kobaya
salut Angelus,

Je n'ai pas testé, mais ce code devrait te convenir :

Private Sub CommandButton5_Click()
Dim wshFeuille As Worksheet

For Each wshFeuille In Sheets
If wshFeuille.Name <> "liste" And wshFeuille.Name <> "index" Then
wshFeuille.Range("D4:I2000").ClearContents
End If
Next
Sheets("liste").Select
End Sub
--
Cordialement,

Kobaya

Aime la vérité, mais pardonne l''erreur (Voltaire)



Bonjour

Je voulais supprimé les données des cellules D4 à I2000 sur toute les
feuilles sauf la feuille "liste" et "index"
Je joint la commande que j'ai tester : où est le beug? y a t il une moyen
plus simple de l'écrire?
MERCI !

Private Sub CommandButton5_Click()
Sheets (Array "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25",
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38")).Select
Sheets("1").Activate
Range("D4:I2000").Select
Selection.ClearContents
Range("D4").Select
Sheets("liste").Select
End Sub



Avatar
Angelus
Merci Kobaya sa fonctionne !!


salut Angelus,

Je n'ai pas testé, mais ce code devrait te convenir :

Private Sub CommandButton5_Click()
Dim wshFeuille As Worksheet

For Each wshFeuille In Sheets
If wshFeuille.Name <> "liste" And wshFeuille.Name <> "index" Then
wshFeuille.Range("D4:I2000").ClearContents
End If
Next
Sheets("liste").Select
End Sub
--
Cordialement,

Kobaya

Aime la vérité, mais pardonne l''erreur (Voltaire)



Bonjour

Je voulais supprimé les données des cellules D4 à I2000 sur toute les
feuilles sauf la feuille "liste" et "index"
Je joint la commande que j'ai tester : où est le beug? y a t il une moyen
plus simple de l'écrire?
MERCI !

Private Sub CommandButton5_Click()
Sheets (Array "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25",
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38")).Select
Sheets("1").Activate
Range("D4:I2000").Select
Selection.ClearContents
Range("D4").Select
Sheets("liste").Select
End Sub





Avatar
Angelus
Merci céline mais cette fois kobaya a été le plus rapide :-)


bonjour angelus
je n'ai pas testé ta macro mais je peux te proposer quelque chose pour
la simplifier

Private sub CommandButton5_Click()
for i = 1 to 38
With worksheets(i)
if worksheets(i).name <> "liste" and worksheets(i).name <>
"index" then
.activate
.Range("D4:I2000).select
Selection.clearcontents
.range("D4").select
end if
end with
Worksheets("liste").activate
end sub

remarques :
si tu as un nombre de feuilles différent de 38 et que tu veux que ca
marche tu fais

Private sub CommandButton5_Click()
for each feuille in worksheets
with feuille
if .name <> "liste" and .name <> "index" then
.activate
.range("D4:I2000").clear
.Range("D4").select
end if
end with
next feuille
worksheets("liste").activate
end sub

en espérant t'avoir aidé
Céline



Bonjour

Je voulais supprimé les données des cellules D4 à I2000 sur toute les
feuilles sauf la feuille "liste" et "index"
Je joint la commande que j'ai tester : où est le beug? y a t il une moyen
plus simple de l'écrire?
MERCI !

Private Sub CommandButton5_Click()
Sheets (Array "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25",
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38")).Select
Sheets("1").Activate
Range("D4:I2000").Select
Selection.ClearContents
Range("D4").Select
Sheets("liste").Select
End Sub