Trophinou
Messages postés23Date d'inscriptionvendredi 13 juillet 2012StatutMembreDernière intervention26 mars 2014
-
Modifié par Trophinou le 26/03/2014 à 01:41
jordane45
Messages postés37727Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention28 septembre 2023
-
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
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
A voir également:
Une ligne supplémentaire non désirée. comment la virer ?
jordane45
Messages postés37727Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention28 septembre 2023342 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....