VBA - Erreur 91 sur méthode find

  • Initiateur de la discussion Initiateur de la discussion rpn
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
611
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
584
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
828
Réponses
4
Affichages
271
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
670
Réponses
4
Affichages
237
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
199
Retour