VBA: erreur 1004 pour macro sur plusieurs onglets

beniboy

XLDnaute Nouveau
Bonjour,

j'ai créé une macro qui me permet de changer les formules de cellule puis d'appliquer un certain format.
Je souhaite que ces changements s'effectuent sur l ensemble des feuilles de mon classeur à l'exception de "listes" et "dashboard".

Or actuellement, j'ai l'erreur suivante:
erreur d execution 1004
microsoft excel ne trouve pas les données que vous recherchez

quand je passe la souris sur les codes en debogage, cela m indique:
la methode RANGE de l objet GLOBAL a échoué.

cela apparait aux lignes RANGE à chaque fois et la macro ne veut toujours pas passer à l onglet suivant.

En esperant que vous puissiez m aider.

a+ ;)


Code:
'changement formule pour % difference avec année N-1 + format conditionnel + format %
Sub RemplacementFormuleongletmois()
Dim c As Range
Dim d As Range
Dim firstAddress As String
Dim dfirstAddress As String
 
Dim fl As Worksheet
For Each fl In Worksheets
  If fl.Name <> "dashboard" And fl.Name <> "listes" Then 'attention aux noms de feuilles avec accent
  'ton code
 
 With Range("L7:L9,L12:L22,L26:L37,N7:N9,N12:N22,N26:N37,W7:W9,W12:W22,W26:W37,Y7:Y9,Y12:Y22,Y26:Y37")
    Set c = .Find(What:="=INDIRECT.EXT", LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
 
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.FormulaR1C1 = "=(RC[-1] - " & Mid(c.FormulaR1C1, 2) & ")/" & Mid(c.FormulaR1C1, 2)
            .NumberFormat = "0.00%"
 
                .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=0"
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -11489280
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="=0"
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
            Set c = .FindNext(c)
        Loop While Not c Is Nothing 'And c.Address <> firstAddress
    End If
 
 
  With Range("P7:P9,P12:P22,P26:P37,R7:R9,R12:R22,R26:R37,AA7:AA9,AA12:AA22,AA26:AA37,AC7:AC9,AC12:AC22,AC26:AC37")
    Set d = .Find(What:="=INDIRECT.EXT", LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
 
    If Not d Is Nothing Then
        dfirstAddress = d.Address
        Do
            d.FormulaR1C1 = "=(RC[-1] - " & Mid(d.FormulaR1C1, 2) & ")"
            .NumberFormat = "0.00%"
 
                .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=0"
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -11489280
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="=0"
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
            Set d = .FindNext(d)
        Loop While Not d Is Nothing 'And dfirstAddress <> d.Address
    End If
 End With
 End With
  End If
Next fl
 
 
End Sub
 

beniboy

XLDnaute Nouveau
Re : VBA: erreur 1004 pour macro sur plusieurs onglets

bonjour,

tout d abord merci pour y jeter un petit coup d oeil.
malheureusement, j'ai toujours le meme probleme:

erreur d execution 1004
microsoft office excel ne trouve pas les données que vous recherchez

je me retrouve avec le "fl.range etc." surlignez et ca me dit "la methode range de l objet worksheet a échoué.

ci je reclique sur LECTURE, la macro se poursuit mais va bloquer au range suivant, et ainsi de suite. :confused:
 

beniboy

XLDnaute Nouveau
Re : VBA: erreur 1004 pour macro sur plusieurs onglets

j'ai refait avec le fl.range puis j'ai sauvegardé. Après j'ai relancé la macro et cela m a fait les changements comme il fallait.
j'ai poursuivi la manip en copiant les macros sur un autre fichier pour les valeurs de 2010 et j'ai a nouveau le probleme comme précédemment.

je suis assez perdu car j'ai bien mis le fl.range, j'ai sauvegardé etc. mais rien n y fait.

je joins le fichier 2010 si cela peut aider.

merci encore
 

Pièces jointes

  • excel.xlsm
    236.8 KB · Affichages: 108
  • excel.xlsm
    236.8 KB · Affichages: 105
  • excel.xlsm
    236.8 KB · Affichages: 102

Statistiques des forums

Discussions
312 294
Messages
2 086 899
Membres
103 404
dernier inscrit
sultan87