Erreur de compilation Macro tout effacer?

Résolu/Fermé
Pathfinder37 Messages postés 35 Date d'inscription mardi 1 juillet 2014 Statut Membre Dernière intervention 29 février 2016 - 5 déc. 2015 à 11:30
Pathfinder37 Messages postés 35 Date d'inscription mardi 1 juillet 2014 Statut Membre Dernière intervention 29 février 2016 - 7 déc. 2015 à 15:42
Bonjour à tous,
Voici mon problème, je voudrais uniquement ajouter une fonction macro qui a pour objectif d’effacer toutes les cases qui sont en orange pâle dans mon fichier Excel et ensuite réinscrire 6 petites formules qui ont été effacé dans la première étape.

Donc 1 macro :

- Qui efface toutes les cases orange pâle
- & ensuite ajoute dans les cellules suivantes
V7 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J7;"")
V8 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J8;"")
V9 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J9;"")
V10 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J10;"")
V11 : =SI(‘TDB DONNÉES’!$H$60=VRAI;J11;"")
V15 : =SI(‘TDB DONNÉES’!$D$61=VRAI;J15;"")

Cependant, j’ai fait plusieurs test et ma macro génère toujours une erreur de compilation ou autre. Si quelqu’un peut me venir en aide ce serait extrêmement apprécié.

Merci à tous!

Lien: http://www.cjoint.com/c/ELfkBhDCtXd
A voir également:

2 réponses

Pathfinder37 Messages postés 35 Date d'inscription mardi 1 juillet 2014 Statut Membre Dernière intervention 29 février 2016 2
7 déc. 2015 à 15:42
Bonjour ccm81,

Je te remercie énormément d'avoir pris le du temps pour m'aider à résoudre mon problème. Cependant, il y a certaines choses que je ne comprend pas ou maîtrise pas dans ta formule et j'ai reçu une proposition qui ressemble à la tienne mais un peu plus simplifié (à mon avis) pour mes connaissances et qui répond bien à ce que je veux faire donc je vais y aller avec l'autre proposition qui est celle-ci:

Sub TOUT_EFFACER()
Application.ScreenUpdating = False
Application.EnableEvents = False
couleur = Range("j6").Interior.Color
For Each cellule In Range("j6:ag198")
If cellule.Interior.Color = couleur Then cellule.Value = ""
Next cellule
Range("v7").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J7;"""")"
Range("v8").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J8;"""")"
Range("v9").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J9;"""")"
Range("v10").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J10;"""")"
Range("v11").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J11;"""")"
Range("v15").FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J15;"""")"
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


Elle semble être très similaire à la tienne et donne le bon résultat.

Merci encore de ton aide et bonne continuation
2
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 5/12/2015 à 14:31
Bonjour

Essaies ceci, à mettre dans Module 1 et à compléter

Option Explicit

Const FTQ = "TDB QUEST."
Const orange = 45
Const plage = "J6:AH200"

Public Sub OK()
Dim c As Range, f As String
Application.ScreenUpdating = False
For Each c In Sheets(FTQ).Range(plage)
  If c.Interior.ColorIndex = orange Then c.Cells(1, 1).Value = ""
Next c
With Sheets(FTQ)
  .Range("V7").Cells(1, 1).FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J7;"""")"
  .Range("V8").Cells(1, 1).FormulaLocal = "=SI('TDB DONNÉES'!$D$60=VRAI;J8;"""")"
'V9 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J9;"")
'V10 : =SI(‘TDB DONNÉES’!$D$60=VRAI;J10;"")
'V11 : =SI(‘TDB DONNÉES’!$H$60=VRAI;J11;"")
'V15 : =SI(‘TDB DONNÉES’!$D$61=VRAI;J15;"")
End With
Application.ScreenUpdating =True
End Sub

RQ. Ne le compile pas, tu as pas mal d'erreurs dans le module 4

Cdlmnt
1