Bonjour sara79,
Une solution avec le code suivant :
Sub sousMatrice()
Dim matrice, sousMat
Dim lignInf As Long, lignSup&, colInf&, colSup&
Dim lign&, col&, sousLign&, sousCol&, cpt&, nbLignSousMat&, nbColSousMat&
Dim temoin As Boolean
matrice = [a1].CurrentRegion.Value 'matrice entière
sousMat = Application.InputBox("Veuillez sélectionner la sous-matrice à chercher :", "Sous-Matrice", , , , , , 8)
nbLignSousMat = UBound(sousMat, 1)
nbColSousMat = UBound(sousMat, 2)
lignInf = LBound(matrice, 1)
lignSup = UBound(matrice, 1) - nbLignSousMat + 1
colInf = LBound(matrice, 2)
colSup = UBound(matrice, 2) - nbColSousMat + 1
For lign = lignInf To lignSup
For col = colInf To colSup
cpt = 0
For sousLign = 1 To nbLignSousMat
For sousCol = 1 To nbColSousMat
If matrice(lign + sousLign - 1, col + sousCol - 1) <> sousMat(sousLign, sousCol) Then temoin = True: Exit For
If matrice(lign + sousLign - 1, col + sousCol - 1) = sousMat(sousLign, sousCol) Then cpt = cpt + 1
Next sousCol
If temoin Then temoin = False: Exit For
Next sousLign
If cpt = nbLignSousMat * nbColSousMat Then Cells(lign, col).Resize(nbLignSousMat, nbColSousMat).Interior.Color = vbMagenta
Next col
Next lign
End Sub
Edit : code et fichier modifié pour prendre en compte n'importe quelle taille de sous-matrice