Cherche code VBA "Remplir cellule à condition..."

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 !

olibelle0101

XLDnaute Occasionnel
Bonsoir,
J'ai mis un tout petit fichier, pour la recherche d'un code (pas de MFC)
Mettre un format donné dans une cellule si même valeur entre ces 2 cellules ...

Merci au forum.
 

Pièces jointes

Re : Cherche code VBA "Remplir cellule à condition..."

Yep !

Comme ceci:

Code:
Sub Colorier()

    Dim Ws As Worksheet
    Dim i As Integer
    
    Set Ws = Sheets("Saisie")
    With Ws
        
        .Range("D1:D" & .Range("D65536").End(xlUp).Row).Interior.ColorIndex = xlNone
        For i = 1 To .Range("D65536").End(xlUp).Row
            
            If .Range("D" & i).Value <> "" Then
            
                If .Range("D" & i).Value = .Range("AC" & i).Value Or .Range("D" & i).Value = .Range("AD" & i).Value Then
                
                    .Range("D" & i).Interior.ColorIndex = 6
                
                End If
                
                If .Range("D" & i).Value = .Range("AE" & i).Value Or .Range("D" & i).Value = .Range("AF" & i).Value Then
                    
                    .Range("D" & i).Interior.ColorIndex = 3
                
                End If
                
            End If
            
        Next i
        
    End With
End Sub

Bonne soirée
 
Re : Cherche code VBA "Remplir cellule à condition..."

Bonjour olibelle0101, Pierrot93

Une autre approche pour toutes les colonnes voulues:

Code:
Sub colorier2()
    
    Dim Ws As Worksheet
    
    'Feuille dans laquelle on effectue la macro
    Set Ws = Sheets("Saisie")
    Dim maPlage As Range, maPlage2 As Range, Cel As Range, Cel2 As Range
        
        'Plage contenant les cellules à vérifier
        Set maPlage = Ws.Range("D3:AB11")
        'Plage contenant les cellules référentes
        Set maPlage2 = Ws.Range("AC3:AH11")
            
            For Each Cel In maPlage
            
                If Cel.Value <> "" Then
                
                    Cel.Interior.ColorIndex = xlNone
                    For Each Cel2 In maPlage2
                        
               If Cel.Value = Cel2.Value And Cel.Row = Cel2.Row Then Cel.Interior.ColorIndex = Cel.Interior.ColorIndex
                        
                    Next Cel2
                
                End If
            
            Next Cel
        
End Sub

Bonne journée !

Note: Le
If Cel.Value = Cel2.Value And Cel.Row = Cel2.Row Then Cel.Interior.ColorIndex = Cel.Interior.ColorIndex
Doit être sur la même ligne
 
- 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
7
Affichages
285
Retour