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

  • Votes
  • Date
  • Date décroissante
  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
    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
      1. je viens d'essayer ça marche pas mieux je suis novice en macro
        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
          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?
            1. cela concerne la cellule sélectionnée et celle droite
          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
            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