Exécution d'une macro dans plusieurs feuilles

Résolu
Pierr0o Messages postés 18 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 3 avril 2007 - 6 mars 2007 à 12:53
Pierr0o Messages postés 18 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 3 avril 2007 - 6 mars 2007 à 15:03
Bonjour, j'ai fais une macro, qui permet de supprimer des champs de cellule dans une feuille, et je voudrais, avec les meme paramètres de champs de cellule, que cette macro s'effactue également sur mes 7 autres feuilles.

Voici mon code:

Public Function Efface_4021()


Dim nb As Integer
nb = 4


Worksheets("4021").Select


    While Cells(nb, 1).Value <> ""
        Range("C4").Select
        Range("c4", Cells(nb, 4)).ClearContents
        nb = nb + 1
 
    Wend
  
 
End Function

Merci pour votre aide.

6 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
6 mars 2007 à 13:19
Salut essaye ça:

Private Sub CommandButton1_Click()
Call Efface
End Sub


Public Sub Efface()


Dim i As Integer
Dim NbFeuil As Integer
NbFeuil = ThisWorkbook.Worksheets.Count


For i = 1 To NbFeuil


Dim nb As Integer
nb = 4


Worksheets(i).Select


    While Cells(nb, 1).Value <> ""
        Range("C4").Select
        Range("c4", Cells(nb, 4)).ClearContents
        nb = nb + 1
 
    Wend
 
  Next
 
End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 14:42
Salut si tu connais son nom fais ceci

Dim Wb As Worksheet
Dim nb As Long

For Each Wb In ActiveWorkbook.Worksheets
    If Wb.Name <> "NOmAExclure" Then
        Call Wb.Select
        nb = 4
        While Cells(nb, 1).Value <> ""
            Range("C4").Select
            Range("c4", Cells(nb, 4)).ClearContents
            nb = nb + 1
        Wend
    End If
Next Wb


@+: =89254 Ju£i?n
Pensez: Réponse acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 14:13
Salut,
ou bien encore

Dim Wb As Worksheet
Dim nb As Long

For Each Wb In ActiveWorkbook.Worksheets
   Call Wb.Select
   nb = 4
   While Cells(nb, 1).Value <> ""
       Range("C4").Select
       Range("c4", Cells(nb, 4)).ClearContents
       nb = nb + 1
   Wend
Next Wb, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Pierr0o Messages postés 18 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 3 avril 2007
6 mars 2007 à 14:18
Excellent!! Merci, petite dernière chose... il y a juste une feuille qui ne doit pas recevoir cette fonction, comment puis-je l'exclure?

Encore Merci pour votre réactivité et votre efficacité.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
6 mars 2007 à 14:51
La même chose que jrivet avec mon code, ceci dis je préfère le sien!

Private Sub CommandButton1_Click()
Call Efface
End Sub
Public Sub Efface()

Dim i As Integer
Dim NbFeuil As Integer
NbFeuil = ThisWorkbook.Worksheets.Count

For i = 1 To NbFeuil

Dim nb As Integer
nb = 4

If worksheets(i).Name <> "NomAExclure"

Worksheets(i).Select

    While Cells(nb, 1).Value <> ""
        Range("C4").Select
        Range("c4", Cells(nb, 4)).ClearContents
        nb = nb + 1
 
    Wend
 
 End If

  Next
 
End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Pierr0o Messages postés 18 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 3 avril 2007
6 mars 2007 à 15:03
J'avais pris le tien au début Drikce , puis finalement jme suis tourné vers celui de jrivet, + simple je trouve!!

Merci encore, ça fonctionne nikel!
0
Rejoignez-nous