VBA - Erreur 91 sur méthode find

rpn

XLDnaute Nouveau
Bonjour à tous.

Excusez moi, mais j'ai un soucis sur ma Sub excel.
Cette sub à pour objectif d'aller chercher la date issue d'une liste présente en (C2) dans la plage de donnée d'un autre onglet (Entre B3 et une ligne dependant du tableau) et de me retourner le numéro de ligne ou cette valeur est trouvée.

Cependant, cette sub me renvoie l'erreur 91 pour la recherche de : ligdata1.

Quelqu'un peu il m'aider?
Sub remplissageTabbord()
'déclaration des variables
Dim WSSource As Worksheet, WSCible As Worksheet
Dim ligmaxdata As Integer
Dim ligdata1 As Integer
Dim ligdata2 As Integer

Dim i As Integer
Dim k As Long
Dim l As Long

'déclaration des pages sources et cibles
With ThisWorkbook
Set WSSource = Worksheets("Stockage datas")
Set WSCible = Worksheets("Tableau de bord")
End With

'messages d'erreurs
If Cells(2, 3) = "" Then
MsgBox "Veuillez selectionner des dates valides"
Exit Sub
End If
If Cells(2, 5) = "" Then
MsgBox "Veuillez selectionner des dates valides"
Exit Sub
End If
If Cells(2, 5) <= Cells(2, 3) Then
MsgBox "Veuillez selectionner des dates valides"
Exit Sub
End If

'recherche dernière ligne de données
ligmaxdata = WSSource.Columns(1).Find("", WSSource.Range("A3"), , , xlByRows).Row

'Recherche de l'index de ligne correspondant à C2
ligdata1 = WSSource.Columns(2).Find(WSCible.Range("C2"), WSSource.Range("b3"), , , xlByRows).Row

'test renvoi du numero de ligne
MsgBox " data1 " & ligdata1

'Recherche de l'index de ligne correspondant à E2
ligdata2 = WSSource.Columns(3).Find(WSCible.Cells(2, 5), WSSource.Range("B3"), , , xlByRows).Row
'MsgBox " data2 " & ligdata2

'remplissage des données chauffage
For i = 1 To 17
WSCible.Cells(8 + i, 3) = WSSource.Cells(ligdata1, 5 + (i - 1) * 14)
WSCible.Cells(8 + i, 4) = WSSource.Cells(ligdata2, 5 + (i - 1) * 14)
WSCible.Cells(8 + i, 5) = WSCible.Cells(8 + i, 4) - WSCible.Cells(8 + i, 3)
Next

'remplissage des données Electricité
For i = 1 To 18
WSCible.Cells(8 + i, 8) = WSSource.Cells(ligdata1, 17 + (i - 1) * 14)
WSCible.Cells(8 + i, 9) = WSSource.Cells(ligdata2, 17 + (i - 1) * 14)

WSCible.Cells(8 + i, 10) = (WSCible.Cells(8 + i, 9) - WSCible.Cells(8 + i, 8))
Next


End Sub
 

Discussions similaires

Réponses
9
Affichages
299
Réponses
7
Affichages
536
Réponses
4
Affichages
417
Réponses
2
Affichages
152

Statistiques des forums

Discussions
314 588
Messages
2 110 988
Membres
111 002
dernier inscrit
Lolo73i