Décalage des cellules dans vba

yannlehardi

XLDnaute Nouveau
Bonjour tout le monde,

Je débute dans VBA et j'aimerais savoir s'il est possible que les codes entrés dans les macros se modifient automatiquement pour prendre en compte l'insertion de colonne ou de ligne par exemple. Parce qu'à chaque fois que je modifie la structure de mon document, il faut que je change tous mes codes!

Exemple (tout bête) :
Je veux colorier ma cellule B4 automatiquement en jaune :

Range("B4").Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With

J'insère une colonne avant la colonne A. La cellule qui se colorie est toujours la B4 alors que je voudrais maintenant que ce soit la C4 puisque celle ci s'est décalée vers la droite.

Auriez vous une astuce ou un tuto à me communiquer par hasard?

merki merki!:)
 

Dull

XLDnaute Barbatruc
Re : Décalage des cellules dans vba

Salut yannlehardi, Le forum

Peut-être comme cela

Code:
Range("B4").Select
With Selection[COLOR=Red][B].Offset(0, -1).[/B][/COLOR]Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Bonne Journée
 
Dernière édition:

ftho

XLDnaute Occasionnel
Re : Décalage des cellules dans vba

Bonjour,

Une solution éventuelle serait de nommer la cellule B4, par exemple "MaCel"
Ensuite, peu importe où va se situer anciennement B4 suite aux insertions de lignes et de colonnes, en écrivant
Code:
Range("MaCel").Interior.ColorIndex = 6
ça sera toujours la bonne cellule même si celle ci se retrouve en Z36
 

Discussions similaires

Réponses
5
Affichages
353

Statistiques des forums

Discussions
312 680
Messages
2 090 865
Membres
104 681
dernier inscrit
Gtcheumawe