Décalage des cellules dans vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!🙂
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
508
Retour