Barrer des cellules

Bonjour,

je tourne autour de cette macro sans succès.

Je cherche à créer une macro relative, qui :

1 - déplace le curseur d'un cran vers la gauche

2 - sélectionne une plage de cellules d'environ 300 de hauteur sur 2 de largeur

3- barre les cellules sélctionnées

4- repositionne le curseur sur la cellule de départ

A : position d edépart

barrer12

B Sélection des cellules

barrer14

C après barrage des cellules, retour en position de départ

barrer13

J'ai fait divers essais, dont :

ActiveCell.Offset(0, -2).Range("A1:B301").Select

ActiveCell.Offset(0, -1).Range("A1").Activate

Selection.Font.Strikethrough = True

ActiveCell.Offset(0, 1).Range("A1").Select

End Sub

Mais ça ne fonctionne pas.

Ainsi que

Range("B285:C685").Select

Range("C285").Activate

Selection.Font.Strikethrough = True

Range("D285").Select

End Sub

Et cette dernière est en mode absolu, doncne fonctionne pas non plus

Quelque chose m'échappe, mais quoi?

Pouvez-vous m'aiguiller, svp ?

Bonjour,

Essaie ainsi :

ActiveCell.Offset(, -2).Resize(300, 2).Font.Strikethrough = True

Extra, Eric

Merci beaucoup, ça marche.

Bonjour,

je propose ce code VBA :

Sub Essai()
  With ActiveCell
    If .Column > 2 Then .Offset(, -2).Resize(300, 2).Font.Strikethrough = -1
  End With
End Sub

dhany

@Jean-Eric

attention : que se passe-t-il si ton code est exécuté alors que la cellule active est en colonne A ou B ?

dhany

Re,

Bonjour dhany,

Tu as raison, on est jamais assez prudent dans nos réponses.

Il faudrait penser à l'imperméable, aux bottes et au parapluie, à chacune de nos réponses.

If ActiveSheet.Type = -4167 Then
        If TypeName(Selection) = "Range" Then
            If Selection.Column > 2 Then
                Selection.Offset(, -2).Resize(300, 2).Font.Strikethrough = True
            End If
        End If
    End If

Bonjour

au plus simple

Sub Test()
    Range("D285").Select
    Range("B285:C685").Font.Strikethrough = True
End Sub

A+

Maurice

Rechercher des sujets similaires à "barrer"