Methode range

Didier972

XLDnaute Junior
Bonjour

Voilà, certainement quelque chose de simple mais je ne sais pas comment y arriver.

j'aimerais sélectionner 3 cellules l'une a coté de l'autre, mais sans mettre range (a1:c1)

mais plutot, a partir de l'activecell, tu selectionnes les deux cellules à coté.

car par la suite je voudrais coloré mon tableau qui comporte 3 colonnes, une ligne sur 2 en sachant que le nombre de ligne sera variable, d'une fois sur l'autre. j'arrive a le faire sur une colonne mais j'aimerais que cela englobe ma ligne de 3 cellules je voulais utiliser la propriété "areas" mais je ne sais pas m'en servir. Comment puis je faire pour rendre la seconde valeur de I variable, je pensais avec une msgBox. 0 to (Variable) step 2
Merci
Code:
Sub Color()
Dim origine As Range
    Set origine = ActiveCell
    For i = 0 To 20 Step 2
        Selection.Offset(2, 0).Select
        Selection.Font.Bold = True 'Exemple apres je mettrais la couleur
   Next i
        origine.Select
 End Sub
 

mth

XLDnaute Barbatruc
Re : Methode range

Bonsoir,

Si j'ai bien compris ta question, l'outil Tableau d'Excel 2007 fait ça tout seul, nul besoin de macro ... (Menu Accueil, / Mettre sous forme de tableau, que tu peux modifier pour avoir par exemple des caractères gras une ligne sur deux également, comme les couleurs)

Bonne soirée,

mth

Edit: Bonsoir Softmama :)
 

Didier972

XLDnaute Junior
Re : Methode range

mth, non je ne peux me servir de la mise en forme automatique des tableaux, car je ne veux pas que se soit tout mon tableau qui soit coloré, seulement quelque ligne par ci par là que j'ai besoin de faire ressortir.

Softmama, ton code reviens un peu au miens cela ne prend pas sur 3 cellules adjacentes.
merci a vous quand même
 

TempusFugit

XLDnaute Impliqué
Re : Methode range

Bonjour

Si tes cellules sont adjacentes, Areas sera égal à 1

Pourquoi n'utilises-tu pas le Resize comme conseillé par Softmama?

Voici différentes manières de faire la même chose
et tu vois qu'areas renvoie bien 1
Code:
Sub macrotest()
MsgBox [A1].Resize(3).Address
MsgBox Range([A1], [A1].Offset(2)).Address
MsgBox Range("A1:A3").Address
MsgBox Range(Cells(1, 1), Cells(3, 1)).Address
MsgBox [A1].Resize(3).Areas.Count
End Sub
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Methode range

salut

vois Si... cela peut t'aider :
Code:
Sub Color2()
  'alternance lignes avec 3 colonnes à partir de la cellule active
  L = ActiveCell.Row: C = ActiveCell.Column
  For n = L To L + 19             '19 pour le nombre voulu de lignes diminué de 1
    'C+2, 2 pour le nombre de colonnes diminué de 1
    '3, 4  ou autres pour les couleurs
    Range(Cells(n, C), Cells(n, C + 2)).Interior.ColorIndex = IIf(n Mod 2 = 0, 3, 4)
  Next
End Sub
 

Discussions similaires

Réponses
7
Affichages
255

Statistiques des forums

Discussions
312 839
Messages
2 092 682
Membres
105 509
dernier inscrit
hamidvba