Bonjour, je suis nouveau sur le forum et débutant en VBA.

Je vais essayer de vous exposer clairement mon souci.

Je cherche à partir de la valeur de la cellule active (heure de début) et de celle sur sa droite (heure de fin) de la feuille "MASTER", à retrouver sur une autre feuille (feuille "SHIFTS") une ligne ayant ces deux mêmes valeurs pour pouvoir par la suite récupérer un morceau de cette ligne et la "coller" sur la première feuille.

Etant des heures au format date (avec date + heure), la fonction FIND ne fonctionnait pas. J'ai du coup converti sur la deuxième feuilles ("SHIFTS") les dates/heures au format numérique puis concaténer sur la colonne B les deux valeurs.

J'ai du coup réussi à récupérer l'adresse correspondante à ma recherche grâce à FIND et VALUE2.

Mon souci est que je n'arrive pas à utiliser cette "adresse" pour l'utiliser sur les étapes d'après. J'obtiens un message d'erreur dès que j'essaye de faire un resize ou de l'utiliser en tant que range.

Mon but une fois l'adresse trouvée et de "décaler" de 6 cellules vers la droite (ça j'y arrive) puis de resize pour copier les valeurs de cette ligne de la colonne H à la colonne CE.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub FINDligne()
 
Dim shiftDEB As Range
Dim shiftFIN As Range
Dim searchshiftDEB As Variant
Dim searchSHIFT As Variant
Dim ligne As Variant
 
searchshiftDEB = ActiveCell.Value2
searchshiftFIN = ActiveCell.Offset(0, 1).Value2
searchSHIFT = searchshiftDEB & " " & searchshiftFIN
 
 
Set searchSHIFT = Worksheets("SHIFTS").Range("B1:B500").Find(What:=searchSHIFT, LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlColumns)
 
 
ligne = searchSHIFT.Offset(0, 6).Address
MsgBox ligne
 
 
End Sub
Mon fichier :
SEMAINE XX-2020_MASTER.xlsb.xlsm

Merci d'avance pour votre aide !

Oncle Sid