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 -
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
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:
- Affichage d'une valeur suivant une condition
- Excel cellule couleur si condition texte - Guide
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
1 réponse
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.
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.