Copier et effacer ligne dun classeur à un autre

je te remercie beaucoup.

C'est vraiment le vocabulaire et la logique de réflexion en vba qui me manque.

Je vais revoir ma chef ce matin pour qu'elle me déniche une formation.

Je réfléchis à ce classement chrono sur le we.

Encore merci

Essaie de placer ce code dans le fichier 2, sous Thisworkbook (sur mon image DieseArbeitsmappe en allemand). Choisi bien l'option "Workbook".

Private Sub Workbook_Open()
Dim DerLig As Integer
Application.ScreenUpdating = False

DerLig = Range("C" & Rows.Count).End(xlUp).Row
Rows("2:" & DerLig).Select
Selection.Sort Key1:=Range("G3"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
    Range("A" & DerLig + 1).Activate
End Sub

Cordialement

09 09

merci pour la macro de classement chronologique. Je venais de la faire mais plus compliquée (c'est souvent mon problème, aller chercher en 20 lignes ce qui se fait en 1).

J'ai un souci avec la macro précédente et la copie de la colonne W en U.

Cela m'efface toutes les bordures des cellules de la ligne 2.

Aurais-tu une solution? Merci

Salut,

Je n'ai plus trop le temps de m'occuper de ça avant la semaine prochaine, alors je te propose une solution de dépannage, tout bêtement créée avec l'enregistreur de macro.

15em-95-s-01-v2.zip (16.79 Ko)

Les borures des lignes 1 et 2 de ton exemple "Classeur 2" - placé sur ton tout premier message - ne sont pas trop fignolées, me semble-t-il. Je ne peux donc pas vraiment les prendre comme exemple.

Pourrais-tu alors fournir une copie d'un fichier 2 avec les bordures des lignes 1 et 2 telles que tu les désirerais à la fin de la macro ?

A te relire.

encore merci.

Voici le fichier avec la présentation que je souhaiterais.

Bon week-end à toi

10mattv1-2.zip (8.32 Ko)

Salut Matt,

Finalement il y a un vieux PC datant d’avant l’ère de l’informatique dans le chalet où je réside, ainsi qu’une connexion Internet

Tout d’abord, sur le fichier 2, je t’avais proposé un code à l’ouverture afin de le trier comme tu le désirais. Cependant, si tu ouvres ce fichier pour le consulter, sans le modifier toi-même, tu dois confirmer que tu veux enregistrer les modifications effectuées par ce code. Je te propose alors, afin d’évier cela, de rajouter la ligne ActiveWorkbook.Save juste avant la fin de la macro, ainsi :

Private Sub Workbook_Open()
' reste du code
ActiveWorkbook.Save
End Sub

Ensuite, pour ton problème de mise en forme du fichier 2 par l'intermédiaire du code placé dans le fichier 1, je te propose un nouveau code modifié à plusieurs endroits.

Une partie du code effaçait les bordures de la ligne 2 du fichier 2 si les cellules C3 et en dessous de ce même fichier étaient vides. Ceci a été neutralisé par ces lignes :

DerLig2 = Range("C" & Rows.Count).End(xlUp).Row     'déjà en place
If DerLig2 > 2 Then
' ..... mise en forme des bordures dès la ligne 3
End If

Et nouvellement les bords droits des colonnes J, T et U du fichier 2 sont mis en évidence selon ton modèle.

Code complet dans le fichier ci-joint.

Cordialement

14matt-1-v5.zip (17.00 Ko)

Je te remercie une n-ième fois, grâce à toi, mon fichier est parfait


Encore un tout petit problème...

Le fichier 2 (relances cumulées dans mes pièces jointes) qui reçoit toutes les lignes qui doivent être copiées augmente en poids de manière considérable. Je suppose que toutes les lignes copiées et supprimées doivent rester en mémoire quelque part. Est-il possible de corriger ce problème car avec les 4 lignes de mon exemple et 4 ou 5 tests, le fichier fait plus de 3Mo?

2° amélioration, ce serait lors de la suppression des doublons de garder la dernière ligne copiée et non la 1ère. Cela me permettrait de récupérer les dernières modifications ce qui n'est pas le cas actuellement.

J'ai adapté le tout à mon fichier réel que je mets en pièce jointe pour un meilleur rendu (fichier hebdo).

Encore merci pour l'aide apportée

12fichier-hebdo.zip (61.97 Ko)
8fichier-hebdo.zip (61.97 Ko)

Salut,

Comme tu as édité ton message au lieu de placer une réponse, je n'ai pas été informé de ta deuxième intervention. C'est donc par hasard que je découvre tes dernières demandes.

Sans mot de passe, ton fichier serait quand même plus facile à utiliser.

Afin de supprimer l'avant-dernière ligne au lieu de la dernière : Dans le passage ci-dessous

'suppression des doublons du fichier relances cumulées (dossiers toujours en NV) pour qu'ils n'apparaissent qu'une fois dans la liste
Cells(4, 3).Activate
Do Until ActiveCell = ""
    If ActiveCell = ActiveCell.Offset(-1, 0) Then
        ActiveCell.EntireRow.Delete

remplace la dernière ligne par

ActiveCell.Offset(-1, 0).EntireRow.Delete

Pour ton problème de poids du fichier, ça ne peut, selon moi, pas venir de données fantômes enregistrées je ne sais où. Par contre ça pourrait venir de la mise en forme conditionnelle ou de la mise en forme de tes cellules. Si je fais des essais et que le fichier monte à 3000 KB par exemple, il suffit que j'efface les bordures et ton fichier reprends une taille normale. Je ne peux pas trop t'aider de ce coté. Essaie de clore ce fil et d'en recommencer un autre avec cette question.

Je ne m'explique pas non plus un autre problème, mais je n'ai pas non plus trop cherché. Avec mes fichiers test, je ne vois pas "travailler" la macro car j'ai placé l'instruction Application.ScreenUpdating = False en début de code. Par contre avec ton fichier, on voit tous les passages d'une feuille à l'autre, d'une ligne à l'autre, etc. et c'est bien gênant. As-tu modifié quelque chose autre part ???

Cordialement.

merci pour tes conseils.

Je vais mettre un post sur ce sujet et oui j'avais modifié un passage et zappé de remettre ApplicationScreenUpdating = False

Un grand merci pour ton aide plus que précieuse

Rechercher des sujets similaires à "copier effacer ligne dun classeur"