Copier une range en fonction valeur en colonne et en ligne
Bonjour,
Je souhaite en fonction de la valeur de deux cellules qui changent en fonction du service sélectionné et de la semaine.
Sélectionner la range qui correspond dans le fichier Recap_temp.
Pour le moment grâce à un code que des membres du forum m'avaient corrigé je sélectionne correctement la ligne.
Pour sélectionner la colonne correspondante j'ai utilisé la même méthode sans succés.
L'idée est comme sur la copie écran est de copier les valeurs entourées en jaune.
Le code qui correspond pour trouver la valeur en ligne et la colonne et le fichier sont disponibles ci-dessous.
Sub lookligne()
'code qui fonctionne :)
Dim plage As Range
Dim vlig As Long
Dim vcol As Long
Dim cellule As Variant
Dim add As Range
Dim ws As Worksheet
Set ws = Sheets("Recap_temp")
ws.Activate
Set plage = Range("A1:DB1")
Set cellule = Worksheets("Dashboard").Range("A1")
Set SearchRange = Range("C1:DB1")
Set Findrow = SearchRange.Find(cellule, LookIn:=xlValues, lookat:=xlWhole)
If Findrow Is Nothing Then
reponse = MsgBox("This week doesn't not exist", vbCritical, "Warning")
Else
vlig = Findrow.Row 'ligne
vcol = Findrow.Column
Cells(vlig, vcol).Select
End If
End Sub
Sub lookcolonne()
'même méthode que pour les lignes
Dim plage As Range
Dim vlig As Long
Dim vcol As Long
Dim cellule As Variant
Dim add As Range
Dim ws As Worksheet
Set ws = Sheets("Recap_temp")
ws.Activate
Set plage = Range("A1:A141")
Set cellule = Worksheets("Dashboard").Range("A2")
Set SearchRange = Range("A3:A141")
Set Findrow = SearchRange.Find(cellule, LookIn:=xlValues, lookat:=xlWhole)
If Findrow Is Nothing Then
reponse = MsgBox("This service doesn't not exist", vbCritical, "Warning")
Else
vlig = Findrow.Row 'ligne
vcol = Findrow.Column
Cells(vlig, vcol).Select
End If
End Sub
En vous remerciant par avance pour vos lumiéres.
Bonne soirée.
Bon au final j'ai laissé tombé cette méthode et j'ai utilisé des formules sommeprod au lieu du code vba.
Voila sujet résolu.