• Initiateur de la discussion Initiateur de la discussion archi
  • Date de début Date de début

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 !

archi

XLDnaute Impliqué
Bjr à tous,

j'ai un problème dans le code suivant (créer avec l'editeur de macro):

Code:
Sub Effacer_Données()

    Sheets(Array('Deom S.', 'Hervieu Y.', 'Junker M.', 'Martin S.', 'Neef O.')).Select
    Sheets('Deom S.').Activate
    Range('A28:H28').Select
    Selection.AutoFill Destination:=Range('A4:H28'), Type:=xlFillDefault
    Range('A4:H28').Select
    Range('J28:M28').Select
    Selection.AutoFill Destination:=Range('J6:M28'), Type:=xlFillDefault
    Range('J6:M28').Select
End Sub

ce code correspond a l'effacement de données dans des feuil intitulées de la même façon, à savoir 'Nom+Initiale Prénom'
malheureusement, cette macro ne fonctionne pas sur de nouvelles feuil rajouter.

d'ou mon problème
merci de votre aide
bye
 
bonsoir

ton code ne travaille que sur les feuilles indiquées dans 'le array' :

Sheets(Array('Deom S.', 'Hervieu Y.', 'Junker M.', 'Martin S.', 'Neef O.')).Select

il te faut faire une boucle sur toutes tes feuilles, par exemple, ce code travaille sur toutes les feuilles du classeur sauf la feuille 1 :

dim ws as worksheet

for each ws in worksheets
if not ws.name='feuil1' then
'ton traitment
end if
next ws


salut 🙂
 
Merci Hervé,

je viens d'essayer
Code:
Sub Test()

Dim ws As Worksheet

For Each ws In Worksheets
If Not ws.Name = 'Feuil1' Then
    Range('A11:B11').Select
    Selection.AutoFill Destination:=Range('A3:B11'), Type:=xlFillDefault
    Range('A3:B11').Select
    Range('D11:E11').Select
    Selection.AutoFill Destination:=Range('D3:E11'), Type:=xlFillDefault
End If
Next ws
End Sub

mais cela ne fonctionne que sur la feuil active ??

par ailleurs, comment rajouter d'autre feuil dans le If Not qui sont intitulé 'Feuil+ un nombre'??

bye
 
bonsoir archi

essayes comme ceci (code non testé) :

Sub Test()

Dim ws As Worksheet

For Each ws In Worksheets
If Not ws.Name = 'Feuil1' And Not ws.Name = 'feuil2' Then
ws.Range('A11:B11').Select
Selection.AutoFill Destination:=Range('A3:B11'), Type:=xlFillDefault
ws.Range('A3:B11').Select
ws.Range('D11:E11').Select
Selection.AutoFill Destination:=Range('D3:E11'), Type:=xlFillDefault
End If
Next ws
End Sub


salut
 
Merci Hervé,

j'ai un bug en ligne
ws.Range('A11:B11').Select

voici mon fichier pour plus de compréhension

bye [file name=Test_Classeur1.zip size=22954]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_Classeur1.zip[/file]
 

Pièces jointes

bonjour archi

😱 😱 😱

désolé.

j'ai pas ouvert ton fichier je manque de temps, pour le code, essaye comme ceci :

Sub Test()

Dim ws As Worksheet

For Each ws In Worksheets
If Not ws.Name = 'Tables' And Not ws.Name = 'Base' And Not ws.Name = 'Individuel' Then
ws.Range('A11:H11').AutoFill Destination:=ws.Range('A4:H11'), Type:=xlFillDefault
ws.Range('J11:M11').AutoFill Destination:=ws.Range('J6:M11'), Type:=xlFillDefault
End If
Next ws
End Sub


salut
 
- 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

Réponses
10
Affichages
517
J
  • Question Question
Microsoft 365 Formules
Réponses
2
Affichages
785
J
J
Réponses
22
Affichages
3 K
jui42
J
Retour