Selection multiple en fonction d'une boucle

  • Initiateur de la discussion Initiateur de la discussion christ-94
  • Date de début Date de début

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 !

christ-94

XLDnaute Occasionnel
Bonjour

Voila , non code va dans une macro plus complète , le but est de colorier une sélection multiple en fonction d'une boucle
Si dans la range 6 j'ai un D je colories la sélection multiple qui se trouve en desous .la selection est (E9:E15,E17:E18,E21:E22) car il y a un D en E6
Et je bloque sur la sélection multiple
Je ne souhaite pas utilise de MFC


Sub test2()
Dim boucle As Variant
For boucle = 1 To 10
t = Intersect(Columns(boucle), Rows(6))
If t = "D" Then
Range(boucle & "5").Select 'deja probleme sur une selection

With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
Else
Range("a22") = "toto"
End If
Next
End Sub


la selection multiple a adapte est la

Range(boucle & "5").Select
Range("E9:E15,E17:E18,E21:E22").Select


Merci d'avance
 
Dernière édition:
Re : Selection multiple en fonction d'une boucle

bonjour,

essaie le code suivant

Sub test2()
Dim boucle As Variant, t
For boucle = 1 To 10
t = Intersect(Columns(boucle), Rows(6))
If t = "D" Then
Range(Range(Chr(boucle + 64) & "5").Value).Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
Else
Range("a22") = "toto"
End If
Next
End Sub
en mettant en ligne 5 (audessus de 'D') le range qui doit être colorié (écrire le tout en format texte)
 
Re : Selection multiple en fonction d'une boucle

Merci mutzik

Mais , j'ai toujours une erreur sur la ligne

Code:
Range(Range(Chr(boucle + 64) & "5").Value).Select

fonctionne avec le code

Code:
Range(Chr(boucle + 64) & "5" ).Select

Sur une case et non sur une selection multiple

de type
Code:
Range("E9:E15,E17:E18,E21:E22").Select
 
Re : Selection multiple en fonction d'une boucle

Merci le fichier fonctionne

Mais il a un problème, il ne colorie les cellules que si on les mais sur la range 5
Le but et de colorier les cellule en dessous du D, elle ne doivent pas être sur la feuille

Comme dans le fichier exemple
 
Re : Selection multiple en fonction d'une boucle

Une solution

Code:
Function ColumnLetter()
Dim C As Integer, L As Integer
With ActiveCell
C = .Column
If C > 26 Then L = 2 Else L = 1
ColumnLetter = Left$(.Address(0, 0), L)
End With
End Function



Sub Colorie_Samedi_Dimance()
Dim cpt As Variant, t, X
    Range("D5:AK39").Select
    Range("AK39").Activate
    Selection.Interior.ColorIndex = xlNone

For cpt = 1 To 40

    t = Intersect(Columns(cpt), Rows(6))
    If t = "D" Then
    
        Point = Intersect(Columns(cpt), Rows(6)).Select
        t = ColumnLetter
               
        Range(t & "5:" & t & "18," & t & "20:" & t & "23," & t & "25:" & t & "31," & t & "33," & t & "36:" & t & "39").Select
        With Selection
            .Interior.Pattern = xlSolid
            .Interior.ColorIndex = 4
        End With
    Else
    End If
        If t = "S" Then
        
        Point = Intersect(Columns(cpt), Rows(6)).Select
        t = ColumnLetter
        
        Range(t & "5:" & t & "18," & t & "20:" & t & "23," & t & "25:" & t & "31," & t & "33," & t & "36:" & t & "39").Select
        With Selection
            .Interior.Pattern = xlSolid
            .Interior.ColorIndex = 4
        End With
    Else
    End If
 
Next
End Sub
 
- 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

L
Réponses
9
Affichages
1 K
J
Réponses
22
Affichages
3 K
jui42
J
M
Réponses
1
Affichages
1 K
M
Réponses
2
Affichages
827
M
C
Réponses
4
Affichages
1 K
Carlich
C
S
Réponses
4
Affichages
2 K
stage_ferrit
S
Retour