XL 2010 Copie colonne incomplète

Kael_88

XLDnaute Occasionnel
Le forum,

je viens de m'appercevoir que les colonnes que j'importe ne sont pas complete,
j'ai un tableau de 24 colonnes et 50000 lignes

lorsque je copie les colonnes F et G, je n'ai que 2034 lignes de copiées auriez vous une idée ?
voici mon code:

Sub Copy_Data()

Dim WsDest As Worksheet, WsSource As Worksheet
Dim rng As Range, derl As Long

Set rng = Range("F2", Range("F60000").End(xlUp)) '.Select
derl = rng.Rows.Count + 1

Set WsSource = Sheets("Data 1") 'Feuil source
Set WsDest = Sheets("Synthèse 1") 'Feuil destination

WsDest.Range("A2:Z" & derl).Clear 'Suppression valeur du tableau
Selection.Interior.Pattern = xlNone

WsSource.Range("F2:G" & derl).Copy Destination:=WsDest.Range("B2") 'Copier/ coller colonne F et G sans entete
Application.CutCopyMode = False ' supression cadre de copie

WsDest.Range("$B:$C").RemoveDuplicates Columns:=1, Header:=xlYes 'Suppression des doublons colonne B

With WsDest.Sort
.SortFields.Clear
.SortFields.Add _
Key:=Range("B2:B" & derl), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.SetRange Columns("B:C")
.Header = xlYes
.Apply
End With

End Sub

Merci de votre reponse

Cordialement
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Kael

Si toutes les lignes sont pleines, il faut écrire comme ceci

derl = .Range("a" & Rows.Count).End(xlUp).Row
Set rng = .Range("F2:G" & derl)

Sinon, il faut prendre la colonne qui à le plus de données, exemple avec la colonne R.

derl = .Range("R" & Rows.Count).End(xlUp).Row
Set rng = .Range("F2:G" & derl)
 

Discussions similaires

Réponses
2
Affichages
113
Réponses
11
Affichages
428
Réponses
7
Affichages
521

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16