Macro qui fait planter Excel

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

Youri

XLDnaute Occasionnel
Bonjour à tous,

J'ai rédigé une petite macro pour m'aider à modifier les mises en formes conditionnelles de cellules. Cependant, elle fait planter Excel. Voici la macro :
Code:
Option Explicit
Sub mefc_contacts()
Dim formule_inserer_1 As Variant
Dim formule_inserer_2 As Variant
Dim formule_inserer_3 As Variant
Dim Plage As String
Dim Plage_formule_inserer_1 As String
Dim Plage_formule_inserer_2_et_3 As String
Dim cellule_changer As Range
Plage = Selection.Cells(1, 1).Address & ":" & Selection.Cells(14, 10).Address
Plage_formule_inserer_1 = Selection.Cells(2, -19).Address & ":" & Selection.Cells(14, -10).Address
Plage_formule_inserer_2_et_3 = Selection.Cells(2, -9).Address & ":" & Selection.Cells(14, 0).Address
formule_inserer_1 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=FAUX;testcellules(" & Plage_formule_inserer_2_et_3 & ")=FAUX)"
formule_inserer_2 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=VRAI;testcellules(" & Plage_formule_inserer_2_et_3 & ")=FAUX)"
formule_inserer_3 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=VRAI;testcellules(" & Plage_formule_inserer_2_et_3 & ")=VRAI)"
'MsgBox "Résumé :" & vbCrLf & "Plage Sélection : " & Plage & vbCrLf & _
'"Formule 1 : " & formule_inserer_1 & vbCrLf & _
'"Formule 2 : " & formule_inserer_2 & vbCrLf & _
'"Formule 3 : " & formule_inserer_3
For Each cellule_changer In Range(Plage)
    cellule_changer.FormatConditions(1).Modify xlExpression, , formule_inserer_1
    cellule_changer.FormatConditions(2).Modify xlExpression, , formule_inserer_2
    cellule_changer.FormatConditions(3).Modify xlExpression, , formule_inserer_3
Next cellule_changer
End Sub
Voilà, est-ce que vous pouvez m'aider s'il vous plaît ?

Merci beaucoup,
Youri
 
Re : Macro qui fait planter Excel

Bonjour Youri

a mon avis un problème dans da définition des objets "range", regarde peut être le code ci dessous :

Code:
Sub mefc_contacts()
Dim formule_inserer_1 As Variant
Dim formule_inserer_2 As Variant
Dim formule_inserer_3 As Variant
Dim Plage As Range
Dim Plage_formule_inserer_1 As Range
Dim Plage_formule_inserer_2_et_3 As Range
Dim cellule_changer As Range
Set Plage = Range(Cells(1, 1), Cells(14, 10))
Set Plage_formule_inserer_1 = Range(Selection.Offset(2, -19), Selection.Offset(14, -10))
Set Plage_formule_inserer_2_et_3 = Range(Selection.Offset(2, -9), Selection.Offset(14, 0))
Set Plage_formule_inserer_1 = Range(Cells(2, -19), Cells(14, -10))
Set Plage_formule_inserer_2_et_3 = Selection.Cells(2, -9).Address & ":" & Selection.Cells(14, 0).Address
formule_inserer_1 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=FAUX;testcellules(" & Plage_formule_inserer_2_et_3 & ")=FAUX)"
formule_inserer_2 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=VRAI;testcellules(" & Plage_formule_inserer_2_et_3 & ")=FAUX)"
formule_inserer_3 = "=ET(testcellules(" & Plage_formule_inserer_1 & ")=VRAI;testcellules(" & Plage_formule_inserer_2_et_3 & ")=VRAI)"
'MsgBox "Résumé :" & vbCrLf & "Plage Sélection : " & Plage & vbCrLf & _
'"Formule 1 : " & formule_inserer_1 & vbCrLf & _
'"Formule 2 : " & formule_inserer_2 & vbCrLf & _
'"Formule 3 : " & formule_inserer_3
For Each cellule_changer In Range(Plage)
    cellule_changer.FormatConditions(1).Modify xlExpression, , formule_inserer_1
    cellule_changer.FormatConditions(2).Modify xlExpression, , formule_inserer_2
    cellule_changer.FormatConditions(3).Modify xlExpression, , formule_inserer_3
Next cellule_changer
End Sub

attention je ne suis pas trop sur des cellules que tu veux reellement utiliser... à tester et à adapter donc...

bon après midi
@+
 
Re : Macro qui fait planter Excel

Bonjour Pierrot,

Merci pour beaucoup pour ton aide. Je vais essayer ta solution. Mais je suis parvenu à faire ce que je voulais en effaçant les MEFC et en les remettant (FormatConditions.Delete puis FormatConditions.Add). Comme ça : pas de risque.

Merci encore,
Youri
 
- 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

B
Réponses
6
Affichages
1 K
Banjounet
B
A
Réponses
2
Affichages
1 K
Antoine C.
A
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
A
Réponses
9
Affichages
1 K
A
N
  • Question Question
Réponses
5
Affichages
3 K
H
Réponses
2
Affichages
1 K
H
D
Réponses
1
Affichages
1 K
Compte Supprimé 979
C
M
Réponses
3
Affichages
4 K
_matt_44
M
Retour