Je viens vers vous car je n'arrive pas à trouver la solution : J'ai un fichier qui a presque 100 feuilles. En début d'année, il faut copier la cellule F61 et coller la valeur de celle-ci dans la cellule F8. Ensuite, je dois supprimer toutes les données de B9 à D61 sur chacune des feuilles (SAUF celles dont le nom commence par 1-).
J'ai cette macro qui fonctionne sur la page en cours, mais pas sur les autres. Naturellement elle ne tient pas compte des feuilles dont le nom débute par 1- puisque je n'ai aucune idée si c'est possible.
En fait la macro fonctionne en elle-même, mais j'ai rajouté :For Each sh In ThisWorkbook.Sheets en croyant que cela pourrait fonctionné, mais non...
VB:
Sub Solde()
For Each sh In ThisWorkbook.Sheets
Range("F61").Select
Selection.Copy
Range("F8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B9:D61").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A4").Select
Next sh
End Sub
Option Explicit
Sub Solde()
Dim Wsh As Worksheet
For Each Wsh In ThisWorkbook.Worksheets
If Not Wsh.Name Like "1-*" Then
Wsh.[F8].Value = Wsh.[F61].Value
Wsh.[B9:D61].ClearContents
End If
Next Wsh
End Sub
Je viens vers vous car je n'arrive pas à trouver la solution : J'ai un fichier qui a presque 100 feuilles. En début d'année, il faut copier la cellule F61 et coller la valeur de celle-ci dans la cellule F8. Ensuite, je dois supprimer toutes les données de B9 à D61 sur chacune des feuilles (SAUF celles dont le nom commence par 1-).
J'ai cette macro qui fonctionne sur la page en cours, mais pas sur les autres. Naturellement elle ne tient pas compte des feuilles dont le nom débute par 1- puisque je n'ai aucune idée si c'est possible.
En fait la macro fonctionne en elle-même, mais j'ai rajouté :For Each sh In ThisWorkbook.Sheets en croyant que cela pourrait fonctionné, mais non...
VB:
Sub Solde()
For Each sh In ThisWorkbook.Sheets
Range("F61").Select
Selection.Copy
Range("F8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B9:D61").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A4").Select
Next sh
End Sub
Sub Solde()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If Left(sh.Name, 2) <> "1-" Then
sh.Range("F61").Select
Selection.Copy
sh.Range("F8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
sh.Range("B9:D61").ClearContents
sh.Range("A4").Select
End If
Next sh
End Sub
Option Explicit
Sub Solde()
Dim Wsh As Worksheet
For Each Wsh In ThisWorkbook.Worksheets
If Not Wsh.Name Like "1-*" Then
Wsh.[F8].Value = Wsh.[F61].Value
Wsh.[B9:D61].ClearContents
End If
Next Wsh
End Sub
Option Explicit
Sub Solde()
Dim Wsh As Worksheet
For Each Wsh In ThisWorkbook.Worksheets
If Not Wsh.Name Like "1-*" Then
Wsh.[F8].Value = Wsh.[F61].Value
Wsh.[B9:D61].ClearContents
End If
Next Wsh
End Sub
Bonjour Phil69970, merci beaucoup pour le temps que tu m'as consacré. Ta solution fonctionne en partie chez-moi. Elle copie bien le solde (cellule F61 copiée en F8) mais elle ne supprime pas les données de B9 à D61 de chacune des feuilles. Je ne comprends pas pourquoi d'ailleurs... Par contre j'ai adoré l'idée de la Message Box à la fin de la macro. Je vais l'utiliser avec la solution Dranreb. Un gros merci de ton temps !
Ta solution fonctionne en partie chez-moi. Elle copie bien le solde (cellule F61 copiée en F8) mais elle ne supprime pas les données de B9 à D61 de chacune des feuilles. Je ne comprends pas pourquoi d'ailleurs...
Oh comme je suis désolée! je viens juste de voir votre solution. Je me demandais pourquoi vous sentiez le mazout. Je ne sais pas pourquoi, mais je ne vous voyais pas hier. Je suis tombée directement sur Dranreb. C'est moi qui n'a pas bien regardé sûrement. Si vous saviez combien je me sens mal en ce moment. Vraiment désolée et MERCI BEAUCOUP du temps que vous m'avez donné !