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 !

T

totoromeuh

Guest
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
647
Réponses
5
Affichages
885
Retour