VBA sélection plage variable selon une entrée utilisateur

Résolu/Fermé
Ananas - 11 juil. 2022 à 11:04
 Ananas - 19 juil. 2022 à 15:46

Bonjour,

Je suis à la recherche d'un moyen sous VBA de sélectionner puis utiliser une plage de données dont la colonne serait entrée dans une cellule par l'utilisateur et les lignes seraient fixe.

Exemple : l'utilisateur entre la valeur 150 dans la cellule HH16, la sélection sera donc : colonne 150  lignes 15 à 28 (les lignes ne changent pas), un changement de bordure sera ensuite appliqué à cette sélection.

Par conséquent si plus tard je remplace 150 par 43 dans la cellule HH16, ce seront les cellules colonne 43, lignes 15 çà 28 qui seront mises en forme.

Mon but est ensuite d'appliquer une mise en forme à ces cellules (un changement de bordure, j'ai trouvé la fonction pour réaliser cette mise en forme mais pas sur cette fameuse plage de cellules qui n'est pas fixe...)

Quelqu'un aurait une solution pour répondre à mon problème? 
Windows / Edge 103.0.1264.44

2 réponses

yg_be Messages postés 23244 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 octobre 2024 Ambassadeur 1 541
11 juil. 2022 à 11:17

bonjour,

un exemple:

Dim rg As Range, cl As Long
cl = [HH16]
Set rg = Range(Cells(15, cl), Cells(28, cl))
rg.Interior.ColorIndex = 4
0

ça fonctionne très bien merci!

0

J'ai fait quelques ajustements pour que ça colle bien avec ce que je voulais faire et ça fonctionne à merveille, merci beaucoup!

j'ai mis le code de la macros ci-dessous si jamais ça peut intéresser quelqu'un d'autre à l'avenir (elle colore la bordure gauche des cases de la sélection).

Sub SetColor()
    Worksheets("FeuilleTest").Select
    Dim rg As Range, cl As Long
    cl = [HH16]
    Set rg = Range(Cells(15, cl), Cells(29, cl))
    rg.Borders(xlEdgeLeft).ColorIndex = 13
 
End Sub
0