Macro excel

Résolu
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007
-
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007
-
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

49 réponses

Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

Merci me ne croyez pas que je n'essaie pas.... mais quand vous partez à zéro c'est très difficile... j'essaie de comprendre...
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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

Deviendrait Donc simplement

Range("D" &
c.Row).Interior.ColorIndex = MColor
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

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


End Sub
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

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é...
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

Les choses commencent à s'éclaircir.... je commence à comprendre la philosophie de travail....
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

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....
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

Pouvez-vous encore m'aider cette fois... je seche.... svp merci
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

Je n'ai pas réussi mais je ne veux pas la réponse... je veux de l'aide pour que je puisse seul...

Dim MaChaine As String
MaChaine = .Range("G19:G5000")
'1 = recherche a partir du premier caractere
If InStr(1, MaChaine, "SW-M") Then c.Value = "TEST"

J'aimerais que dans la colonne G, les cases avec du text SW-M soit remplacé par TEST

Suis-je loin de la vérité....
Quelques indices?
Messages postés
28
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
6 juin 2007

Trop cool ca marche et j'ai même réussi à faire autre choses.... Merci beaucoup