VBA: erreur 1004 pour macro sur plusieurs onglets

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 !

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
 
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. 😕
 
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

- 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
9
Affichages
580
Réponses
2
Affichages
511
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
872
  • Question Question
Microsoft 365 comparaison texte
Réponses
5
Affichages
712
Réponses
7
Affichages
619
Réponses
2
Affichages
785
Réponses
8
Affichages
1 K
Retour