Erreur dans une macro

Résolu
phirene26 Messages postés 25 Statut Membre -  
 foo -
Bonjour,
J'ai une macro qui m'écrit un résultat dans deux cellules adjacentes.
Cette écriture est de couleur mais la macro respecte la couleur dans la première cellule mais pas dans la deuxième. Pourtant je ne vois pas d'erreur voici le macro
With Selection.Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 41
End With
ActiveCell.FormulaR1C1 = "CP"
With Selection.Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 41
End With
ActiveCell.Offset(0, 1) = "CP"
'
End Sub

10 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Le premier
    With Selection.Font
    se réfère à la cellule sélectionnée
    Le deuxième aussi, et comme tu n'as pas changé la sélection....!!

    Bonne suite
    0
  2. phirene26 Messages postés 25 Statut Membre
     
    je ne vois pas ou est l'erreur désolé
    0
  3. foo
     
    bonjour

    pour changer une couleur de text sur sur une plage

    Range("F5").Font.ColorIndex = 41
    ou
    Cells(5, 6).Font.ColorIndex = 41

    en gros une ligne sufi

    A+
    Maurice
    0
  4. phirene26 Messages postés 25 Statut Membre
     
    je viens d'essayer ça marche pas mieux je suis novice en macro
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. foo
     
    Re

    Depose le fichier xls (réduit si nécessaire et anonyme)sur http://www.cjoint.com/ et coller ici le lien fourni.

    ca serat plus simple pour voir ou ca Bug

    A+

    Mauirce
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Au début de ton code (de ta macro?)
    With Selection.Font
    fait référence à une cellule ou a une plage sélectionnée soit dans la feuille soit par une instruction précédente du type range(cellule).select
    La suite du code s'applique à cette sélection jusqu'au premier end with

    Question. Cette sélection concerne t' elle une seule cellule ou une plage?
    0
    1. phirene26 Messages postés 25 Statut Membre
       
      cela concerne la cellule sélectionnée et celle droite
      0
  8. foo
     
    Re
    Regarde si ca te va

    Sub cp()
    Lig = ActiveCell.Row
    Col = ActiveCell.Column
    Cells(Lig, Col).Select
    Cells(Lig, Col).Value = "CP"
    With Selection.Font
    .Name = "Arial"
    .FontStyle = "Gras"
    .Size = 12
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = 3
    End With
    Cells(Lig, Col + 1).Select
    Cells(Lig, Col + 1).Value = "CP"
    With Selection.Font
    .Name = "Arial"
    .FontStyle = "Gras"
    .Size = 12
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = 3
    End With
    End Sub

    A+
    Maurice
    0
  9. phirene26 Messages postés 25 Statut Membre
     
    super génial Merci beaucoup Momo ;)
    0
  10. foo
     
    Re
    Merci
    tu peux aussi faire conne ca

    Sub cp()
    Lig = ActiveCell.Row
    Col = ActiveCell.Column
    Cells(Lig, Col).Value = "CP"
    Cells(Lig, Col).Font.ColorIndex = 3
    Cells(Lig, Col + 1).Value = "CP"
    Cells(Lig, Col + 1).Font.ColorIndex = 3
    End Sub

    car la police est dega en arial gras et size 12

    A+
    Maurice
    0