Mettre plusieurs ligne de couleur selon la sélection

Résolu/Fermé
bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 - 13 mars 2015 à 18:47
bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 - 16 mars 2015 à 18:51
Bonjour à tous,

J'ai une macro affecté à un Userform, qui mets en couleur la ligne sélectionné entre la colonne A et N.

Pour le moment, ma macro fonctionne mais si je sélectionne plusieurs lignes, il applique la couleurs seulement sur la première ligne. J'ai essayé le code suivant mais sans succès!

Comment puis-je modifier mon code pour qu'il applique la couleur sur toutes les lignes sélectionnées.

Voici mon code:
Private Sub OptionButton1_Click()


ActiveSheet.Unprotect

Dim c As Range
Dim maplage As Range
Dim l As Long

l = ActiveCell.Row

Set maplage = Range("a" & l & ":N" & l)

If TypeName(Selection) = "Range" Then
    For Each c In Selection
        maplage.Interior.ColorIndex = 3
    Next
End If

ActiveSheet.Protect
        
End Sub

2 réponses

bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 1
13 mars 2015 à 19:01
Première piste trouvé, j'ai passé un espion sur la valeur de "c" et il se déplace d'une colonne à l'autres sur la même ligne jusqu'au bout (colonne N) et sort de la macro.

Pourquoi, il ne se déplace pas sur la prochaine ligne?

Merci!
0
Frenchie83 Messages postés 2237 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 20 juin 2022 332
14 mars 2015 à 10:08
Bonjour
Ceci ne colore en rouge que la plage sélectionnée
Private Sub OptionButton1_Click()
    Dim c As Range
    Dim l As Long
    ActiveSheet.Unprotect
    maplage = Selection.Address
    Range(maplage).Interior.ColorIndex = 3
    ActiveSheet.Protect
End Sub

cdlt
0
bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 1
Modifié par bassmart le 16/03/2015 à 13:42
Bonjour Frenchie83!

Effectivement! Ça colore en rouge la plage sélectionnée.

Mais ce que je veux, c'est que dans la sélection qu'il colore en rouge toute les lignes entre les colonnes A et N sans avoir à sélectionner toute la ligne manuellement.

Merci!
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
16 mars 2015 à 16:28
Bonjour

"colore en rouge toute les lignes entre les colonnes A et N"

C'est que entre A et N,,, ce sont des colonnes,,, (A.B,C,D,E,,,,)

Tu as défini la variable "L" pour les ligne. "L" est assigné avec ActiveCell.Row et c'est tout.
La seule ligne de spécifiée c'est la ligne de la cellule active.

Si tu veux boucler sur plusieurs lignes... lequelles ?
0
bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 1 > PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019
16 mars 2015 à 16:43
Bonjour PlacageGranby!

Ce que je veux, c'est que lorsque je sélectionne une plage de cellules sur plusieurs lignes (ex: les cellules N18, N19, N20) qui correspond au ligne 18, 19 et 20. Que la macro me colore les lignes 18,19 et 20 entre la colonne A et N en rouge. Les cellules sélectionnées peuvent être dans n'importe qu'elle colonne, elle ne sert qu'à déterminer la ligne à colorer.

J'espère que c'est clair!?

Merci!
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié par PlacageGranby le 16/03/2015 à 18:22
Bonjour,

Au plus simple : ceci pourrait être fonctionnel

Sub  OptionButton1_Click()

ActiveSheet.Unprotect

Dim LDebut, LFin As Long

LDebut = Selection.Row
LFin = LDebut + Selection.Rows.Count - 1
Range("A" & LDebut & ":N" & LFin).Interior.ColorIndex = 3

ActiveSheet.Protect

End Sub
0
bassmart Messages postés 277 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 30 août 2022 1 > PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019
16 mars 2015 à 18:51
Merci beaucoup PlacageGranby!

C'est exactement ça! C'est fou comme le code est court!

Je me compliquais la vie! C'est ça quand on débute!

Encore merci!
0