Selectionner les 52 dernieres lignes

bonjour,

j'aimerais creer une macro qui me permet de calculer la corelation:

-soit pour l'année passée , i faut donc que je selectionne les 52 dernieres lignes de mon tableau (ce que j'ai du mal a faire...)

- soit entre 2 dates souhaitées

j'ai redigé un code mais plusieurs chose ne fonctionne pas , 1)je n'arrive pas a selectionner les 52 dernieres lignes, 2) quand j'essaye de Set le range j'ai une erreur d'objet...et 3) une erreur apparait egalement lors de la fonction Vlookup

est-ce que quelqu'un pourrait me donner un coup de main s'il vous plait?

PS: soyez indulgent je suis novice en VBA..

je colle le code ici, malheureusement je n'arrive pas a vous joindre le fichier ( il y a marqué service non disponible)

Sub test()
Dim rgn As Range
Dim Q As String
Dim D1 As Date
Dim D2 As Date

Q = InputBox("do you want the correl for last year? Yes or no")
Q = UCase(Q)

If Q = "YES" Then

Set rgn = Sheets(1).Range("B1048576").End(xlUp).Resize(-52, 29)

Else
D1 = InputBox("enter start date for correl")
D2 = InputBox("enter end date for correl")

cellD1 = Application.WorksheetFunction.VLookup(D1, Sheets(1).Cells, 1, False)
cellD2 = Application.WorksheetFunction.VLookup(D2, Sheets(1).Cells, 1, False)

Set rgn = Sheets(1).Range(cellD1, cellD2).Offset(0, 1).EntireRow

End If

'add sheet for correl matrix
Sheets.Add after:=Worksheets(1)

'correl matrix calculation thanks to data analisis tool pack
Application.Run "ATPVBAEN.XLAM!Mcorrel", rgn _
, Sheets(2).Range("$A$1"), "C", False
End Sub

7book2.xlsm (173.95 Ko)

Bonjour à tous !

Voici ton fichier en retour la macro se nomme Hop

Vois si cela te convient

Bonne journée

2book2.xlsm (175.80 Ko)

Bonjour, une macro en proposition :

Sub Macro1()
    Dim nL As Integer

    nL = Cells(Columns.Count, 1).End(xlUp).Row
    For i = nL To nL - 51 Step -1
        Rows(i & ":" & i).Select
        Selection.Delete Shift:=xlUp
    Next i
End Sub

bonjour ,

merci pour vos réponses ! cela fonctionne bien pour les dernieres lignes mais comment faire si je veux selectionner les lignes entre le 13/04/2014 et le 13/04/2015 par exemple?

Il faut une macro aussi simple :

Option Explicit

Sub Macro3()
    Dim i As Long, nL As Long
    Dim j1 As Long, j2 As Long

    nL = Cells(Columns.Count, 1).End(xlUp).Row

    j1 = DateValue("13/04/2014")
    j2 = DateValue("13/04/2015")

    For i = nL To 1 Step -1
        If Cells(i, 1) >= j1 And Cells(i, 1) <= j2 Then
            Rows(i & ":" & i).Select
            Selection.Delete Shift:=xlUp
        End If
    Next i
End Sub

merci optimix mais les dates que je donnais étaient un exemple , le but est de demander a l'utilisateur quelles dates il souhaitent pour ensuite selectionner toute la plage de données comprise entre ces 2 dates et en faire la matrice de correlation. Aurais-tu une idée sur comment faire?

Bien sûr, mais on aurait dû commencer par là. Je ne sais pas ce que veut dire "et en faire la matrice de correlation". Je te prépare un formulaire classique.

la corelation est un calcul mathematiques pour voir a quel point les données sont dependantes les unes des autres.

j'ai repris ton idée de boucle for mais je n'arrive pas a faire la selection de toute les données en excluant la colonne des dates..

Avec un formulaire pour les 2 types d'opération.

1book2.zip (334.66 Ko)

Je ne connaissais que les indices de corrélation en stats enseignés dans les années 60

Bonjour tout le monde

Bonjour Ines9898

Ci joint ton fichier avec une solution si ça te convienne!

NB Dans chaque feuille il ya un tableau structuré ,(pas comme un tableau normal etc.....)

1book2-solution.xlsm (207.47 Ko)

etc

Bnsoir tout le monde

ines9898

Dans sheet1 écrire date début et date fin dans les cellules A1 et A2. puis clic sur le bouton

Bonne soirée

Cdlmt

merci beaucoup a tous pour votre aide !!

passez une bonne soirée !!

bonsoir

Excuses j''ai loupé un numéro dans la macro

Maintenant j'ai corrigé; (par ce que quand avant quand je lançais la macro la dernière colonne de Sheet2 était vide)

Bonsoir tout le monde

Ines9898

Ajout de:

2 fonctions Min et Max pour afficher la plus ancienne date (MIN) et la plus récente(MAX) de la colonne A

1 Message box si date début et date fin ne figurent pas dans la colonne A.

Donc avant de lancer la macro;voir si vos dates de début et de fin sont comprise entre MIN et MAX

Cdlmnt

Rechercher des sujets similaires à "selectionner dernieres lignes"