pascal7376
Messages postés28Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention 6 juin 2007
-
4 juin 2007 à 15:24
pascal7376
Messages postés28Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention 6 juin 2007
-
6 juin 2007 à 07:29
Bonjour
Je suis nouveau et je cherche à faire une macro dans excel mais je ne connais rien...
J'aimerais que la macro mette "--" dans K1 si A1 ="prt" et ainsi de suite pour toute la page... K2= "--" si B2="prt".
Et je ne peux pas utiliser de fomules car je fais des copier coller donc macro obilgatoire...
Et une autre macro me serait utile...
Si B1 est de couleur "4" , D1 doit avoir la même couleur et si B2 est orange, D2 doit être orange...
MErci
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 14:13
Re,
Alors tu as au moins résussi avec ce que je viens de te dire normalement?
Quel en est le code résultant ?
Note:
Ce IF est TOTALEMENT inutile puisque MColor ne peu pas prendre d'autre valeur que celle que tu mets dans le If
If MColor 4 Or MColor 6 Or MColor = 50 Or MColor = 38 Or MColor = 8
Or MColor 45 Or MColor 48 Or MColor = 0 Then Range("D" &
c.Row).Interior.ColorIndex = MColor
Next c
pascal7376
Messages postés28Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention 6 juin 2007 5 juin 2007 à 14:36
wahoo pas facile à suivre j'ai presque l'impression de parler une autre langue.... En fait la difficulté pour moi c'est sur la colonne K lorsque la macro met "Alphacos" si B est "prt". Et la j'aimerais que "alphacos" soit en couleur 56
Private Sub COULEUR_Click()
Static EnCours As Boolean
'Pour se protéger de la "récursivité"
If Not EnCours Then
EnCours = True
Else
Exit Sub
End If
Dim MColor As Integer
Application.ScreenUpdating = False 'Pour désactiver la mise à jour de l'affichage
For Each c In Worksheets(1).Range("b19:b5000")
Select Case c.Value
Case "prt": MColor = 4
Range("K" & c.Row).Value = "Alphacos"
c.Font.ColorIndex = 56
Case "unit": MColor = 6
Range("K" & c.Row).Value = "Alphacos"
Case "ms": MColor = 50
Case "os": MColor = 38
Case "ps": MColor = 8
Case "es": MColor = 45
Case "obj": MColor = 48
Case Else: MColor = 0
End Select
c.Interior.ColorIndex = MColor
c.Font.ColorIndex = 0 If MColor 0 Then c.Font.Bold False If MColor 4 Or MColor 6 Or MColor = 50 Or MColor = 38 Or MColor = 8 Or MColor = 45 Or MColor = 48 Or MColor = 0 Then Range("D" & c.Row).Interior.ColorIndex = MColor
Next c
For Each c In Worksheets(1).Range("G19:G5000") If c.Value "Material <not specified>" Then c.Value "Divers"
Next c
Application.ScreenUpdating = True
'petite ligne a rajouter si on veut le faire
'plus d'une fois
EnCours = False
pascal7376
Messages postés28Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention 6 juin 2007 5 juin 2007 à 14:44
J'ai pu modifer le If MColor 4 Or MColor 6....
Et j'ai compris pourquoi... c'est un bon début...
J'ai essayé avec la marco de rechercher dans les cases du texte comme celui-ci... "SW-M...." mais la fin n'est jamais la même et le début non plus mais j'ai toujours SW-M j'ai essayé avec des * mais ca ne marche pas....
Y a-t-il un autre symbole dans les macros... l'aide d'excel ne m'a pas aidé...
Vous n’avez pas trouvé la réponse que vous recherchez ?
pascal7376
Messages postés28Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention 6 juin 2007 5 juin 2007 à 15:13
Mais toujours pas trouvé comment faire pour qu'il recherche pas le texte complet mais une partie.... c-a-d de trouvé les cases qui comportent au moins "SW-M" même si il y a du texte avant ou apres....