[VBA] Aide sur macro EXCEL

Résolu
mibri Messages postés 23 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 28 janvier 2014 - 10 févr. 2012 à 17:01
mibri Messages postés 23 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 28 janvier 2014 - 10 févr. 2012 à 19:20
bonjour à tous (tes)
je me demande en développant les différents thèmes si je suis sur le bon forum ???
je pose tout de même mon problème. J'ai cherché puis j'ai trouvé une macro qui me permettra de chiffrer les mois de l'année avec des correspondances de couleur. l'erreur c'est que cette macro est active sur la totalité de la page alors que ce que je recherche, c'est qu'elle fonctionne sur une colonne seulement. ci dessous la macro :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
For Each Cel In Target
'pour chaque cellule de la plage modifiée
Select Case LCase(Cel)
'mettre en "case" la valeur de la cellule en minuscules
Case "1"
Cel.Interior.ColorIndex = 4
Case "2"
Cel.Interior.ColorIndex = 40
Case "3"
Cel.Interior.ColorIndex = 34
Case "4"
Cel.Interior.ColorIndex = 27
Case "5"
Cel.Interior.ColorIndex = 34
Case "6"
Cel.Interior.ColorIndex = 39
Case "7"
Cel.Interior.ColorIndex = 24
Case "8"
Cel.Interior.ColorIndex = 22
Case "9"
Cel.Interior.ColorIndex = 7
Case "10"
Cel.Interior.ColorIndex = 33
Case "11"
Cel.Interior.ColorIndex = 38
Case "12"
Cel.Interior.ColorIndex = 46
Case Else
'si aucun des cas précédent
Cel.Interior.ColorIndex = xlNone
'couleur de fond en automatique
End Select
Next Cel
End Sub

merci par avance de bien vouloir me rectifier cette erreur...
mibri

10 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
10 févr. 2012 à 17:39
Hello,
Effectivement, ce n'est pas le bon forum: nous sommes sur un forum de développeurs.
Toutefois, je déplace ta demande dans la section "Bar", qui cible un public plus large.
Si une bonne âme passe par là...

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 19:06
Regarde comment je me serais exprimé à ta place, en peu de mots :

"Comment faire pour que seules les cellules d'une colonne définie soient affectées par les instructions mises dans l'évènement WorkSheet_change d'une feuille de calcul"

Simple et précis, non ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 18:25
Bonjour, buno
C'est du VBA ( VBA/excel)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 18:30
et l'erreur n'est pas dans ce code, qui ne modifie que la cible
Elle est donc ailleurs, dans la sélection faite pour appliquer les modifs


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mibri Messages postés 23 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 28 janvier 2014
10 févr. 2012 à 18:41
bonsoir ucfoutu
merci de m'avoir répondu aussi rapidement
Bien, mais en clair que faut il que je fasse. Je ne suis pas du tout expérimenté, peux tu m'écrire la nouvelle macro
par avance merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 18:49
Je n'en sais rigoureusement rien, puisque (une autre fois) ne dépend pas de ce bout de code mais du code (que l'on ne voit pas) par lequel tu modifies les valeurs.
peux tu m'écrire la nouvelle macro 

Pourquoi ? Celle-ci est correcte et ne "touche" qu'aux cellules dont tu modifies la valeur !
Tu as donc fait une blague ailleurs (mais ou ? Manarf)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 18:52
Il se peut également que tu aies joué par ailleurs avec la mise en forme conditionnelle (en plus de ce code) !
Comment veux-tu que je devine ce que tu as fait d'autre ? Impossible (ma boule de crustal a gelé la nuit dernière)
Essaye ton code sur un projet vierge (sans rien d'autre que ce bout de code-là) et tu verras qu'il fonctionne bien


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
mibri Messages postés 23 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 28 janvier 2014
10 févr. 2012 à 18:55
merci tout de même ucfoutu mais tu n'apportes pas la réponse à mon problème.
Est ce quelqu’un d'autre peut trouver la solution de manière a ce que cette macro soit active seulement sur une colonne (a définir) au de la page entière...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2012 à 19:01
Ah !
Je commence à comprendre ce que tu voulais dire !
Quelle colonne ?
Si par exemple la colonne B (donc colonne 2): il suffit de :
===>>
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Target.Column = 2 Then Exit Sub  '>>>>>>>>>>>>> A RAJOUTER ICI
  Dim Cel As Range
  ''''''
''''' et( tout le reste de ton code
'
'
'

End Sub


C'est tout !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
mibri Messages postés 23 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 28 janvier 2014
10 févr. 2012 à 19:20
merci beaucoup, j'ai appliqué la ligne supplémentaire dans ma macro , ça a l'air de fonctionner
merci encore et bonne soirée
mibri
0
Rejoignez-nous