Erreur dans une macro

Résolu
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. 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
    1. je ne vois pas ou est l'erreur désolé
      0
      1. 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
        1. je viens d'essayer ça marche pas mieux je suis novice en macro
          0
          1. 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
            1. 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. cela concerne la cellule sélectionnée et celle droite
                0
            2. 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
              1. super génial Merci beaucoup Momo ;)
                0
                1. 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