MACRO SUPPRIMER 12 FEUILLES

PHV62

XLDnaute Junior
bonjour je souhaite faire une macro qui supprime une ligne sur12 feuilles les 12 feuilles sont identique du mois de janvier a decembre les feuilles servent a pointer les presences mais pour x raison je doit supprimer une ligne comment je peux faire cette macro
merci de votre aide je suis debutant en macro j ai bien chercher sur des forum mais je ne trouve pas
 

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Bienvenue sur XLD, PHV62.

Placer ce code dans un module standard et l'adapter aux besoins.

VB:
Option Explicit
Sub Ligne_x_supprimer()
    Dim o As Object
    For Each o In Worksheets(Array("a", "b", "c"))    ' noms adapter
        o.Rows("17:17").Delete  ' numéro de ligne adapter
    Next
End Sub
A bientôt :)
 

PHV62

XLDnaute Junior
merci pour pour la reponse ca fonctionne bien ca retir bien une ligne dans toutes les feuilles mais pas la bonne je vois que vous avez noter la ligne 17:17 j ai essayer 10:200 cela ma retierer toutes mais ligne donc moi j ai a retirer une ligne entre la ligne10 et la ligne 200
merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum, 00 ;)

@PHV62
Tu dois supprimer une ligne ou effacer son contenu?

Si on peut simplement effacer voici une façon de faire
(à tester d'abord sur un classeur exemple)
VB:
Sub Effacer()
'NB: Il faudra remplir l'array avec le noms feuilles idoines
Dim x: x = Array("Feuil1", "Feuil2", "Feuil3")
'Et changer le numéro de ligne à effacer ici
Worksheets("Feuil1").Rows(1).Clear
Sheets(x).FillAcrossSheets Worksheets("Feuil1").Rows(1) ' et ici aussi
End Sub
 
Dernière édition:

PHV62

XLDnaute Junior
j ai essayer en effet cela retire la ligne 1 comme programmer mais je souhaite supprimer une ligne comprise entre 10 et 200
je sélectionne la ligne 52 par exemple je clic sur le bouton ca me supprime la ligne 52 .
tout simplement façon de dire
 

PHV62

XLDnaute Junior
j ai fait une petite modif j ai mis delete a la place clear
Sub EffacerB()
Dim x: x = Array("septembre", "octobre", "novembre", "decembre", "janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout")
Dim Ligne As Long
Ligne = ActiveCell.Row
Worksheets("septembre").Rows(Ligne).Delete
Sheets(x).FillAcrossSheets Worksheets("septembre").Rows(Ligne)
End Sub

ca me supprime bien la ligne mais uniquement sur la premiere feuille septembre pas sur les autre mois
 

Staple1600

XLDnaute Barbatruc
Re

Oui, c'est normal et c'est pour cela que j'ai appelé ma macro Effacer et que je précisais
Si on peut simplement effacer voici une façon de faire
(à tester d'abord sur un classeur exemple)

Pour la suppression, adapter le code de 00 en mixant Ligne=ActiveCell.Row

Ce qui pourrait donner
VB:
Sub SupLigWBK()
Dim ws As Worksheet, a&
a = ActiveCell.Row
For Each ws In ThisWorkbook.Sheets
ws.Rows(a).EntireRow.Delete
Next ws
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 155
dernier inscrit
lombrik