Replace et erreur 1004

  • Initiateur de la discussion Initiateur de la discussion totoromeuh
  • 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 !

totoromeuh

XLDnaute Nouveau
Bonjour tout le monde.

J'ai un problème avec replace. Je lance test() lorsque la combo box change. Celle-ci est une liste déroulante qui est liée à la cellule I4. Elle peut prendre 3 valeurs: Sabot, Rideau, sSpray.

En fonction de la valeur choisie, je veux que dans certaines cellule (celles de conversion_vegetal_UF), les occurences de rideau ou sabot, par exemple, soient remplacées par spray.

Il se trouve que le calcul et les modifs se font, mais j'obtiens parfois (une fois sur 3 environ) une erreur 1004 'Erreur définie par l'application ou par l'objet', qui cible une ligne replace.

Quelqu'un pourrait m'aider, je m'arrache les cheveux...

merci d'avance!

----

Sub test()

Application.ScreenUpdating = False
ThisWorkbook.Sheets('Données').EnableCalculation = False
ThisWorkbook.Sheets('Impact2000').EnableCalculation = False

With ThisWorkbook.Sheets('Données')

If Range('I4') = 'Rideau' Then
ThisWorkbook.Sheets('Données').Range('conversion_vegetal_UF').Select
With Selection
.Replace 'spray', 'rideau'
.Replace 'sabot', 'rideau'
End With
End If

If Range('I4') = 'Sabot' Then
ThisWorkbook.Sheets('Données').Range('conversion_vegetal_UF').Select
With Selection
.Replace 'rideau', 'sabot'
.Replace 'spray', 'sabot'
End With
End If

If Range('I4') = 'Spray' Then
ThisWorkbook.Sheets('Données').Range('conversion_vegetal_UF').Select
With Selection
.Replace 'rideau', 'spray'
.Replace 'sabot', 'spray'
End With
End If

End With

ThisWorkbook.Sheets('Données').EnableCalculation = True
ThisWorkbook.Sheets('Impact2000').EnableCalculation = True
Application.ScreenUpdating = True

End Sub
 
Ok j'ai trouvé, après 5h de boulot perdu.

En fait, c'est le fait de ne pas autoriser le calcul qui faisait planter la macro. Elle marchait une fois, buggait une fois, remarchait une fois...

J'ai donc supprimé les lignes

ThisWorkbook.Sheets('Données').EnableCalculation = False
ThisWorkbook.Sheets('Impact2000').EnableCalculation = False

Et tout va bien maintenant.

Je laisse le fil, au cas où cela puisse aider quelqu'un.
 
- 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
533
Réponses
5
Affichages
707
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
670
Réponses
7
Affichages
287
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
807
Retour