Ah, merci, il me semble bien en effet qu'avant (probablement lorsque ca fonctionnait) quelque chose du genre :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ou peut être avec boolean ou un "machin" comme ca.
Alors j'ai fait la modif... mais maintenant comment qu'y faut faire pour exécuter cette macro, parce que je retrouve plus dans mes macros "CPCMREPOS" ??
Autre question pendant que j'y suis : cette macro, je l'ai copié pour la mettre dans le "workbook" de mon classeur, parce que je veux qu'elle s'éxecute automatiquement.
J'ai donc trouvé comment y fallait faire pour qu'elle s'éxecute automatiquement à l'ouverture de celui-ci. Ca, c'est pas le problème...le problème c'est qu'à l'ouverture de mon classeur, je voudrais executer 2 macros ! celle ci + une autre pour activer la protection chaque feuille.
En gros j'ai essayé de compiler 2 macros (alors je part dans des trucs, moi!)
Mais j'avais réussi, sauf pour le c.Interior.ColorIndex = 43 , ( la fameuse couleur cacadoigt)...
Alors maintenant il faut que je rajoute aussi Private Sub Worksheet_SelectionChange(ByVal Target As Range) pour que ca marche?
Bon, je voulais pas rentrer trop dans les détails, mais du coup je sais pas comment faire...
Voilà ce que j'ai dans le workbook, après bien des essais et modifications pour que ca fonctionne
Private Sub Workbook_Open()
For i = 1 To Sheets.Count
Sheets(i).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next i
For i = 1 To Sheets.Count
Sheets(i).Select
Dim c As Range
For Each c In Range("C2:AG42")
If UCase(c) = "R" Then
c.Font.ColorIndex = 3
ElseIf UCase(c) = "CP" Then
c.Font.ColorIndex = 10
ElseIf UCase(c) = "CM" Then
c.Font.ColorIndex = 1
ElseIf UCase(c) = "CM" Then
c.Interior.ColorIndex = 43
End If
Next
Next
End Sub
Comme ca, ca marche, sauf que CM n'est pas colorié en vert caca doigt.
Si je place private sub Worksheet_SelectionChange(ByVal Target As Range),
je suis obligé de mettre un end sud à ma première macro, du coup, la seconde ne marche pas...
Au secours !!!