XL 2021 séparateur de liste

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

clausen

XLDnaute Occasionnel
Bonjour

dans le code suivant quelle est l'erreur ?

Je veux effacer dans les feuilles 1 2 et 3 les cellules A1:F10


Sub test()
Sheets("feuil1,feuil2,feuil3").Select
Range("A1:F10").Select
Selection.ClearContents
End Sub


Merci d’avance pour votre réponse et bonne journée
 
Bonjour,
VB:
Sub Test()
    Call EffacePlage("A1:F10", Sheets(1), Sheets(2), Sheets(3))
End Sub

Sub EffacePlage(Plage As String, ParamArray TabFeuilles() As Variant)
    Dim i As Integer
 
    For i = LBound(TabFeuilles) To UBound(TabFeuilles)
        TabFeuilles(i).Range(Plage).ClearContents
    Next
End Sub

Edit: Tu peux passer autant de feuilles que tu veux en arguments.
 
Dernière édition:
Bonjour à tous,

Un autre manière rigolote avec le paramètre "False" ou 0 pour ajouter à la sélection de feuilles au lieu de remplacer la sélection précédente :
Sheets("Feuil1").Select: Sheets("Feuil2").Select False: Sheets("Feuil3").Select 0
 
ça joue pas

Sub macro()

Range("D4:F65").Select
Selection.ClearContents

Range("I4:I34").Select
Selection.ClearContents
Range("K4:K34").Select
Selection.ClearContents
Range("M4:M34").Select
Selection.ClearContents

Range("U4:T34").Select
Selection.ClearContents


Call EffacePlage("D4:F65", Sheets(Janvier), Sheets(Février), Sheets(Mars), Sheets(Avril), Sheets(Mai), Sheets(Juin), Sheets(Juillet), Sheets(Août), Sheets(Septembre), Sheets(Octobre), Sheets(Novembre), Sheets(Décembre))

End Sub


La première partie fonctionne la fonction Call efface ????
 
Bonjour,
Si Janvier, Février, ..., Décembre sont des noms de feuilles, il faut les mettre entre double-quotes.
"Janvier", "Février", ..., "Décembre"

De plus tu n'as pas besoin de sélectionner le Range pour y faire un ClearContents.
Et un Range il faut toujours le qualifier. Il appartient à une feuille.
With <Feuille>
.Range("D4:F65").ClearContents ça suffit
End With
 
Dernière édition:
Merci tout le monde . J'ai utilisé la version de "mapomme" et tout fonctionne.

Je me pose une question si il y a pas de problème au changement d'année

Sub macro()
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("D4:F65").ClearContents: Next i
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("I4:I34").ClearContents: Next i
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("K4:K34").ClearContents: Next i
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("M4:M34").ClearContents: Next i
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("Q4:T34").ClearContents: Next i

End Sub



Bonne soirée à tous
 
Je me pose une question si il y a pas de problème au changement d'année
Pas de problème puisque format(...) ne retourne que le mois en texte. L'année n'a donc pas d'importance.

On peut écrire l'effacement en une seule instruction:
VB:
Sub macro()
Dim i As Long
For i = 1 To 12: Sheets(Format(CDate(i & "/2000"), "mmmm")).Range("D4:F65,I4:I34,K4:K34,M4:M3,Q4:T34").ClearContents: Next i
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
293
Réponses
14
Affichages
252
Retour