Sub Valider()
Dim Banque$, xType As Range, Somme As Range, P As Range, n As Byte, lig As Variant, col As Variant, mem(1 To 2, 1 To 2)
Banque = [B2]
Set xType = [B3:C3]
Set Somme = [B4:C4]
With Sheets("Tableau")
Set P = .[B5:R5,T5:AJ5] 'zones à adapter
For n = 1 To 2
lig = Application.Match(xType(n), .Columns(1), 0)
col = Application.Match(Banque, P.Areas(n), 0)
If IsNumeric(lig) And IsNumeric(col) And Somme(n) <> "" Then _
.Cells(lig, col + P.Areas(n).Column - 1) = Somme(n): Somme(n) = "": mem(n, 1) = col + P.Areas(n).Column - 1: mem(n, 2) = lig
Next
If mem(1, 1) + mem(2, 1) Then
If MsgBox("Valeurs enregistrées, voulez-vous afficher le résultat ?", 4) = 7 Then Exit Sub
P.Columns.Hidden = True
P(1).CurrentRegion.Rows(3).Resize(P(1).CurrentRegion.Rows.Count - 4).Hidden = True
If mem(1, 1) Then .Columns(mem(1, 1)).Hidden = False: .Rows(mem(1, 2)).Hidden = False
If mem(2, 1) Then .Columns(mem(2, 1)).Hidden = False: .Rows(mem(2, 2)).Hidden = False
.Activate
End If
End With
End Sub
Sub Afficher_tout()
Sheets("Tableau").Columns.Hidden = False
Sheets("Tableau").Rows.Hidden = False
End Sub