Affichage d'une valeur suivant une condition

khbt Messages postés 13 Statut Membre -  
Armojax Messages postés 1916 Date d'inscription   Statut Membre Dernière intervention   -
bonsoir,
j'ai une interface qui permet suivant une valeur de chercher la date d'échéance dans un fichier "feuillesuivirecouvrement.xls" et de l'afficher dans la feuille actuelle, ce bouton ne fonctionne pas, s'il vous plait si vous me donnez une solution c'est urgent!!!
Function DerLi()
Dim LastRow As Long
ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlLastCell).Row
DerLi = LastRow
End Function
Sub Button6_Click()
Dim j As Integer
Dim i As Integer
Dim k As Integer
ThisWorkbook.Activate
j = Cells(15, 3)
Workbooks.Open "d:\lazher\feuillesuivirecouvrement.xls"
Workbooks("feuillesuivirecouvrement.xls").Activate
For i = 1 To Sheets.Count
Sheets(i).Activate
For k = 12 To DerLi()
If (Range("F" & k).Value = j) Then
Range("K" & k).Copy
ThisWorkbook.Activate
Range("C18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
k = k + 1
End If
Next
Next
Workbooks("feuillesuivirecouvrement.xls").Close True

End Sub
A voir également:

1 réponse

Armojax Messages postés 1916 Date d'inscription   Statut Membre Dernière intervention   1 529
 
Salut khbt,

Au premier abord, comme ça :
- pas la peine d'activer le classeur que tu viens d'ouvrir : l'ouverture le rend actif,
- ton If se trouve dans une boucle For... qui fait varier k. Inutile de faire k = k + 1 dans le Else,
- mais surtout : tu démarres ta boucle avec le classeur "feuillesuivirecouvrement.xls" actif, puis dans la boucle tu actives ThisWorkbook, et le classeur initial se retrouve sur le banc de touche. A mon avis c'est de ce côté qu'il faut regarder.
0