Affichage d'une valeur suivant une condition

Fermé
khbt Messages postés 13 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 11 juillet 2006 - 11 juil. 2006 à 21:06
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 - 11 juil. 2006 à 23:00
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

1 réponse

Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 527
11 juil. 2006 à 23:00
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