Une ligne supplémentaire non désirée. comment la virer ?

Résolu
Trophinou Messages postés 23 Date d'inscription vendredi 13 juillet 2012 Statut Membre Dernière intervention 26 mars 2014 - Modifié par Trophinou le 26/03/2014 à 01:41
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 26 mars 2014 à 02:24
Bonsoir à tous et toutes.

Voulant copier des lignes entières sous condition de plusieurs onglets vers un onglet récapitulatif.
J'utilise ce code.

Sub Copie_bis()


Dim plage As Range, cel As Range
Dim Nathan As Worksheet
Dim Récap As Worksheet



Set Nathan = Worksheets("Nathan")
Set Récap = Worksheets("Récap")



'Nathan
With Nathan
derlig = .Range("K" & Rows.Count).End(xlUp).Row
Set plage = .Range("K3:K" & derlig)
End With

'cadre
Récap.Range("A13").Value = "Nathan"
Récap.Range("A13").Font.Bold = True
Récap.Range("A13:E13").Borders.Weight = xlThin
Récap.Range("B13").Value = "Nb de ref"
Récap.Range("C13").Value = Nathan.Range("k2")
Récap.Range("D13").Value = "S/T"
Récap.Range("E13").Value = Nathan.Range("I1371")

Nathan.Range("A2:I2").Copy Destination:=Récap.Range("A14")



' couleur
Récap.Range("A13:D13").Interior.ColorIndex = 44
Récap.Range("E13").Interior.ColorIndex = 35

For Each cel In plage
If cel = 1 Then
cel.EntireRow.Copy
Récap.Range("A15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=True, Transpose:=False

Selection.Insert Shift:=xlDown

End If
Next cel

Application.ScreenUpdating = False


End Sub

les lignes 13 et 14 sont de la copie pure et dure des valeurs de présentation du tableau.


Or il apparait sur mon feuillet récap une ligne vierge de valeur en 15, mais avec les cadres des cellules adéquates.

ensuite les lignes sont recopier correctement.

A l'envers c'est à dire de bas en haut, mais ça c'est pas le plus important.

je ne comprends pas d'où provient mon erreur...

Si vos yeux aguerris découvre la faille, je suis preneur.

Bye

troph

1 réponse

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
26 mars 2014 à 02:24
Bonsoir,

déjà :
A l'envers c'est à dire de bas en haut,
C'est normal puisque au moment de "coller" ta ligne tu l'insères toujours en "A15" et tu lui demandes de décaler les autres lignes vers le bas
Selection.Insert Shift:=xlDown     


ce qui signifie que ta ligne "15" initiale... si elle contient déjà de la mise en forme...se retrouve en dernière position de ton tableau....avec des bordures.

Lorsque tu constates des comportements "anormaux" dans tes codes.... Active le ScreenUpdating ( = true) puis execute ton code en mode pas à pas ( touche F8 de ton clavier). Cela te permettra de voir le déroulement de ton script et donc de comprendre ce qu'il fait....



0
Rejoignez-nous