Changer numero de ligne en fonction du nombre de ligne

Résolu
JeanMichMich69 Messages postés 12 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 3 mai 2012 - 25 avril 2012 à 15:39
PacifiqueW Messages postés 10 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 3 mai 2012 - 3 mai 2012 à 15:06
Bonjour

J'ai créé un filtre élaboré en VBA qui me permet de comparer 2 feuilles et de réecrire dans une troisieme les lignes comportant des differences.

Ma macro est celle-ci

Sub paiement()

Sheets("Feuil3").Select
Range("A:B,AM:AO,BJ:BJ,BN:BN,BP:BP").Select
Selection.EntireColumn.Hidden = False
Range("C:AL,AP:BI,BK:BK,BL:BL,BM:BM,BO:DB").Select
Selection.EntireColumn.Hidden = True
Range("A2").Activate
Sheets("Feuil1").Range("A1:B5000", "AM1:BP5000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Feuil1").Range("DF1:DF2"), CopyToRange:=Range("A1:B5000", "AM1:BP5000" _
), Unique:=False

Mon probleme est que j'aimerai bien qu' à la place de 5000 je code quelque chose afin d'avoir le numero de la derniere lignes rempli car je peux avoir 100 lignes comme 70000 et le temps d'execution de la macro n'est pas le meme. Avez-vous une solution ?

Cordialement

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 avril 2012 à 16:30
Hé bé !
Et le ^plus fort est que tu utilises déjà cette méthode !
Si j'en crois l'un de tes propres messages dans une autre discussion


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 avril 2012 à 16:24
Bonjour,
Ce forum contient déjà des centaines et centaines de réponses à cette question plus que récurrente.
Ouvre ton aide vba sur le mot End et choisis la rubrique Range.End, propriété. Lis. Tu y trouveras ta réponse.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
JeanMichMich69 Messages postés 12 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 3 mai 2012
3 mai 2012 à 14:37
Dans un soucis de partage je met quand même mon code ça peux toujours servir aux gens cherchant des infos.


Sub Paiement()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
'déclaration variable
 Set FL1 = Worksheets("Feuil1")
 DerLig = Split(FL1.UsedRange.Address, "$")(4)
'determination des variable
 
Sheets("Feuil3").Select
Range("A:B,AM:AO,BJ:BJ,BN:BN,BP:BP").Select
    Selection.EntireColumn.Hidden = False
Range("C:AL,AP:BI,BK:BM,BO:BO,BQ:DB").Select
Selection.EntireColumn.Hidden = True
 Range("A2").Activate
    Sheets("Feuil1").Range("A1:B" & DerLig, "AM1:BP" & DerLig).AdvancedFilter Action:=xlFilterCopy, _
'utilisation de la variable 
        CriteriaRange:=Sheets("FORMULE").Range("C1:C2"), CopyToRange:=Range("A1:B" & DerLig, "AM1:BP" & DerLig _
        ), Unique:=False
0
PacifiqueW Messages postés 10 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 3 mai 2012
3 mai 2012 à 15:06
Bonjour JeanMichMich69, ucfoutu,

Je crois que ucfoutu parlait de :
DernLigne = Range("A65536").End(xlUp).Row


Qui est trés simple d'utilisation et possède un variante pour faire de même avec les colonnes :

DernColonne = Range("IV1").End(xlToLeft).Column


Pas mal d'info ici


Heureux les pauvres en esprit, car le royaume de la Paix est à eux.
0
Rejoignez-nous