Bonjour,
je cherche à réaliser une fonction personnalisée qui, par l'intermédaire d'un test sur la couleur de plusieurs cellules (rouge, IndexColor = 3), renverrait l'intitulé des colonnes correspondantes sous forme concaténée.
Le gros problème auquel je me heurte depuis quelques jours concerne l'utilisation et l'imbrication de boucles FOR que j'ai pensé utiliser pour arriver mes fins...
Le début de code que j'ai est le suivant, sachant que je suis vraiment bloqué pour la suite et qu'il y a peut-être une méthode plus directe à laquelle je n'ai pas pensée, n'étant pas un spécialiste de VB. 😕
	
	
	
	
	
		
J'ai joint un fichier Excel exemple pour préciser mes besoins et la problématique. Au final ce que j'aimerai obtenir en fonction des combinaisons considérées est le contenu des cellules de fond rose... 😛
Si une âme charitable peut se pencher sur mon problème pour m'aider ou au moins me mettre sur la voie, ça serait extra!
Merci par avance
	
		
			
		
		
	
				
			je cherche à réaliser une fonction personnalisée qui, par l'intermédaire d'un test sur la couleur de plusieurs cellules (rouge, IndexColor = 3), renverrait l'intitulé des colonnes correspondantes sous forme concaténée.
Le gros problème auquel je me heurte depuis quelques jours concerne l'utilisation et l'imbrication de boucles FOR que j'ai pensé utiliser pour arriver mes fins...
Le début de code que j'ai est le suivant, sachant que je suis vraiment bloqué pour la suite et qu'il y a peut-être une méthode plus directe à laquelle je n'ai pas pensée, n'étant pas un spécialiste de VB. 😕
		Code:
	
	
	Function Param(Combinaison As Range) As String
Dim Pièce As String
Dim cel1 As Range, cel2 As Range, vColorCell As Range
Dim i As Byte, j As Byte
i = 0
j = 0
'Boucle sur l'ensemble des éléments retenus dans la combinaison
For Each cel1 In Combinaison
Pièce = cel1.Value
        With Sheets("Données")
        
        
'Boucle pour trouver l'indice de ligne associé à "Pièce"
        For Each cel2 In .Range("B2:B5")
        
            If cel2.Value = Pièce Then
            i = cel2.Row
                  
            Exit For
            
            End If
            
'Boucle pour trouver les indices de colonne associés à des cellules colorées en rouge
                For Each vColorCell In .Range(Cells(i, 3), Cells(i, 6))
                If vColorCell.Interior.ColorIndex = 3 Then
                j = vColorCell.Column
                               
                End If
                
                Next vColorCell
           
        Next cel2
                       
        End With
Next cel1
End Function
	J'ai joint un fichier Excel exemple pour préciser mes besoins et la problématique. Au final ce que j'aimerai obtenir en fonction des combinaisons considérées est le contenu des cellules de fond rose... 😛
Si une âme charitable peut se pencher sur mon problème pour m'aider ou au moins me mettre sur la voie, ça serait extra!
Merci par avance