Chercher dernière ligne

jeanphi

XLDnaute Occasionnel
Bonjour

J'utilise le code ci-dessous pour gérer des suppressions de lignes
Je voudrais pour faire ceci en plus:
Trouver la dernière ligne pour laquelle la colonne 2 est vide puis sélectionnes les colonnes 2 à 7 de cette ligne et les recopier vers le bas jusqu'à la ligne 300
Comment puis je faire?
Merci


Public Sub sup_lignes_vides()
Application.ScreenUpdating = False
NoDeColTest = 2 ' en B
NoDeLaPremLig = 7
NoDeLaDernLig = 300
For NoLig = NoDeLaDernLig To NoDeLaPremLig Step -1
If Cells(NoLig, NoDeColTest).Value = "" And Cells(NoLig, NoDeColTest).Formula = "" Then Rows(NoLig).Delete
Next
Application.ScreenUpdating = True
End Sub
 

Dolichotis

XLDnaute Occasionnel
Re : Chercher dernière ligne

Bonjour,

Pour la dernière ligne,
Code:
derlig = ws.Range("B" & Cells.Rows.Count).End(xlUp).Row


Code:
ws.range("B" & derlig & ",G" & derlig).select
après il faut faire "tirer" jusqu'à 300, je ne sais pas le code mais regarde avec l'enregistreur de macros.
(attention déclarer derlig !)
 

Dolichotis

XLDnaute Occasionnel
Re : Chercher dernière ligne

Je veux bien, je connais pas beaucoup en vba mais je veux bien essayer !

D'abord, tu déclares ta variable :
Code:
Dim derlig as integer

après la ligne de code avec derlig que j'ai mis au-dessus.
celle-ci :
Code:
derlig = ws.Range("B" & Cells.Rows.Count).End(xlUp).Row

attention à la mettre avant de utiliser derlig dans une autre ligne de code.

Pour selectionner les colonnes 2 et 7 (B et G),
Code:
ws.range("B" & derlig & ",G" & derlig).select
mais déclare avant ta feuille (ws) en tant que worksheet
et tu tires jusqu'à ligne 300
Code:
Selection.AutoFill Destination:=ws.Range("B" & derlig & ":B300"), Type:=xlFillDefault
Selection.AutoFill Destination:=ws.Range("G" & derlig & ":G300"), Type:=xlFillDefault

Je ne sais pas s'il y a plus simple mais ça devrait marcher.
 

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed