Prendre en considération les X dernières lignes d'une liste

Backhandshot

XLDnaute Occasionnel
Bonjour!
Je voudrais savoir comment je peux me servir des 20,30 ou X dernières lignes SEULEMENT à mon choix d'une liste qui contient au delà de 7000 lignes en sachant que je rajoute 1 ou 2 lignes à chaque jour.

DerLig = Range("A65536").End(xlUp).Row


Merci pour votre aide
 

job75

XLDnaute Barbatruc
Re : Prendre en considération les X dernières lignes d'une liste

Bonsoir Backhandshot, salut Pierrot,

Un exemple avec le choix du nombre de lignes :

Code:
Sub Afficher()
Dim n#, derlig&, lig&, plage As Range
n = Abs(Val(InputBox("Entrez le nombre de lignes à afficher :", "Afficher")))
If n = 0 Then Exit Sub
derlig = Range("A65536").End(xlUp).Row
lig = Application.Max(1, derlig - n + 1)
Application.Goto Cells(lig, "A"), True 'cadre la cellule
Set plage = Range(Cells(lig, "A"), Cells(derlig, "J")) 'si nécessaire ensuite
End Sub
Figez la 1ère ligne (titres), ce sera mieux.

A+
 

Backhandshot

XLDnaute Occasionnel
Re : Prendre en considération les X dernières lignes d'une liste

Bonsoir Pierrot et Job75
J'ai essayé d'intégrer vos codes mais ça ne fonctionne pas comme je veux. Voici le code que je veux modifier.

derlig = 30 'prend en considération les 30 PREMIERS tirages
derlig = Application.InputBox(prompt:="Nombre de tirage à prendre en compte ( 0=tout) ?", Default:=30, Type:=1)
If derlig = 0 Then
derlig = Range("A" & Rows.Count).End(xlUp).Row
Else
derlig = derlig + 1
End If

Vals = Range("C2:V2").Resize(derlig - 1)

Faudrait qu'il change la Vals pour adapter la liste des tirages ?
Merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Prendre en considération les X dernières lignes d'une liste

Re, bonsoir Job:)

dans ton premier post, tu dis :
comment je peux me servir des 20,30 ou X dernières lignes SEULEMENT

et tu indiques maintenant :
derlig = 30 'prend en considération les 30 PREMIERS tirages


peut être nous donner un peu plus d'explication, voir même un tout petit extrait de ton fichier avec données de départ et résultat attendu... parce que là, en l'état pas facile de t'aider...

bonne soirée
@+
 

Backhandshot

XLDnaute Occasionnel
Re : Prendre en considération les X dernières lignes d'une liste

Bonjour à tous!
Mon fichier comporte plus de 7000 lignes, je voudrais calculer seulement un nombre donné de lignes je voudrais une inputbox qui me demanderait le nombre de tirages à prendre en considération en partant du plus récent tirage. Ex: Pour combien de tirages voulez-vous effectuer la recherche ? Réponse X. Cette réponse calculerait les X DERNIERS TIRAGES de ma liste de + de 7000 tirages. Je le faisais auparavant avec le préhistorique QBasic mais pour les 30 derniers tirages je devais demander de calculer à partir de 6970 tirages ce qui me donnait les 30 derniers tirages.
Espérant de vous avoir éclairer sur la question ou je m'exprime mal.
Merci pour votre aide
 

job75

XLDnaute Barbatruc
Re : Prendre en considération les X dernières lignes d'une liste

Re, salut Grand Chaman Excel,

Il s'agit donc bien des 30 DERNIERS tirages.

Alors cette macro dans le fichier joint :

Code:
Sub Afficher()
Dim derlig&, n As Variant, lig&, plage As Range
derlig = Range("A65536").End(xlUp).Row
1 n = InputBox("Nombre de tirage à prendre en compte ( 0=tout) ?", , 30)
n = Switch(n = "", 30, n = 0, derlig, True, Abs(Val(n)))
If n = 0 Then GoTo 1
lig = Application.Max(2, derlig - n + 1)
Application.Goto Cells(lig, "A"), True 'cadre la cellule, facultatif
Set plage = Range(Cells(lig, "C"), Cells(derlig, "V"))
plage.Select 'facultatif : pour voir plage
End Sub
Pour la fonction Switch voir l'aide VBA.

La macro se lance par Ctrl+A.

A+
 

Pièces jointes

  • Test30derniers(1).xls
    130 KB · Affichages: 55
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal