Bonjour à chacun !
Ici j'ai une Sub ingénieuse qui m'a été fournie par Hub et qui fonctionne à merveille pour les nombres entiers comme 2,0 pour J7 et J8, par contre lorsque J7 et/ou J8 est une valeure décimale comme 2,5, il y a l'erreur "Incompatibilité de type" sur la ligne en Rouge Bold lorsque c'est la valeur de J7 qui a un 0,5 et sur la ligne indiquée en Bleu Bold lorsque c'est la valeur de J8 qui a un 0,5.
Est-ce que quelqu'un aurait la solution ?
Sub cherche()
Dim Prem As String, Deuz As String, Troiz As String
Dim Sh As String
Dim Lig1 As Long, Lig2 As Long, Lig3 As Long, Lig4 As Long
Dim Plg1 As Range, Plg2 As Range, Plg3 As Range
'calcul du nom de la feuille
Prem = [J5] & "x"
Deuz = [K5] & "_"
Troiz = IIf([J7] = [J8], "SAME", IIf([J7] < [J8], "HYBRIDE", "INV HYBRIDE"))
Sh = Prem & Deuz & Troiz
With Sheets(Sh)
Lig1 = Application.Match([G5], .Columns(1), 1)
Set Plg1 = .Cells(Lig1, 3).Resize(.Cells(Lig1, 1).MergeArea.Rows.Count, 1)
Lig2 = Application.Match([J7], Plg1, 1) - 1
Lig2 = Lig1 + Lig2
Set Plg2 = .Cells(Lig2, 5).Resize(.Cells(Lig2, 3).MergeArea.Rows.Count, 1)
Lig3 = Application.Match([J8], Plg2, 1) - 1
Lig3 = Lig2 + Lig3
Set Plg3 = .Cells(Lig3, 7).Resize(.Cells(Lig3, 5).MergeArea.Rows.Count, 1)
Lig4 = Application.Match([N4], Plg3, 1) - 1
Lig4 = Lig3 + Lig4
Range("B14:S14").Value = .Range(.Cells(Lig4, 10), .Cells(Lig4, 27)).Value
Range("B23:U23").Value = .Range(.Cells(Lig4 + 1, 10), .Cells(Lig4 + 1, 29)).Value
Range("R4").Value = .Range(.Cells(Lig4, 30), .Cells(Lig4, 30)).Value
End With
End Sub
Merci beaucoup,
MisterT
Ici j'ai une Sub ingénieuse qui m'a été fournie par Hub et qui fonctionne à merveille pour les nombres entiers comme 2,0 pour J7 et J8, par contre lorsque J7 et/ou J8 est une valeure décimale comme 2,5, il y a l'erreur "Incompatibilité de type" sur la ligne en Rouge Bold lorsque c'est la valeur de J7 qui a un 0,5 et sur la ligne indiquée en Bleu Bold lorsque c'est la valeur de J8 qui a un 0,5.
Est-ce que quelqu'un aurait la solution ?
Sub cherche()
Dim Prem As String, Deuz As String, Troiz As String
Dim Sh As String
Dim Lig1 As Long, Lig2 As Long, Lig3 As Long, Lig4 As Long
Dim Plg1 As Range, Plg2 As Range, Plg3 As Range
'calcul du nom de la feuille
Prem = [J5] & "x"
Deuz = [K5] & "_"
Troiz = IIf([J7] = [J8], "SAME", IIf([J7] < [J8], "HYBRIDE", "INV HYBRIDE"))
Sh = Prem & Deuz & Troiz
With Sheets(Sh)
Lig1 = Application.Match([G5], .Columns(1), 1)
Set Plg1 = .Cells(Lig1, 3).Resize(.Cells(Lig1, 1).MergeArea.Rows.Count, 1)
Lig2 = Application.Match([J7], Plg1, 1) - 1
Lig2 = Lig1 + Lig2
Set Plg2 = .Cells(Lig2, 5).Resize(.Cells(Lig2, 3).MergeArea.Rows.Count, 1)
Lig3 = Application.Match([J8], Plg2, 1) - 1
Lig3 = Lig2 + Lig3
Set Plg3 = .Cells(Lig3, 7).Resize(.Cells(Lig3, 5).MergeArea.Rows.Count, 1)
Lig4 = Application.Match([N4], Plg3, 1) - 1
Lig4 = Lig3 + Lig4
Range("B14:S14").Value = .Range(.Cells(Lig4, 10), .Cells(Lig4, 27)).Value
Range("B23:U23").Value = .Range(.Cells(Lig4 + 1, 10), .Cells(Lig4 + 1, 29)).Value
Range("R4").Value = .Range(.Cells(Lig4, 30), .Cells(Lig4, 30)).Value
End With
End Sub
Merci beaucoup,
MisterT