Transférer et ordonner des lignes de 2 tableaux

Bonjour le forum,

Voici mon problème : Je viens de créer une MACRO pas très compliquée a priori qui me permet de transférer manuellement à ma guise les données d'une ligne appartenant au Tableau 1 (D9:X28), sur la première ligne du Tableau 2 (D30:X36). Lors du transfert des données de la 1ère ligne du tableau 1 au 2nd, les autres lignes en dessous s’accommodent automatiquement (pour ne pas laisser de cellules vides à la place de la ligne transférée, ça fait pas très pro !).

Là où j'ai du mal (même en lisant certains postes passés sur ce forum sur des sujets similaires), c'est d'arriver à transférer d'autres lignes du 1er tableau sur le 2nd en les accommodant successivement dans ce même tableau 2

++sans que la précédente ligne transférée sur le tableau 2 ne soit supprimée (voir le tableau que je vous ai transmis ci-dessous).

++en conservant le fait que les lignes du tableau 1 se repositionnent pour ne pas laisser de cellules vides

(J'ai affecté à la 1ère flèche sur la droite de la 1ère ligne qui reprend la MACRO)

HELP !!!

5classeur1.xlsx (58.26 Ko)

Bonjour

Un essai à tester. Te convient-il ?

Bye !

6classeur1-v1.xlsm (61.17 Ko)

Merci pour la rapidité de ton intervention, ça fonctionnement parfaitement.

Par contre, lorsque j’insère ta macro à mon tableau original (que je te transmets ci-dessous : Feuil2 "Tableau impact 1"), cela ne fonctionne pas alors que les plages des cellules sont exactement les mêmes que celles du fichier excel que tu as corrigé

Tu penses savoir pourquoi ?

bonjour

salut gmb

question bête : à quoi ça sert de "recopier" des données ? c'est contraire à tous les principes de bonne gestion de données (en fait l'habitude vient de l'histoire : quand on gérait les données sur papier)

normalement, en informatique (sur Excel) on fait des tris, des filtres, des TCD etc. il y a a même possibilité de requêter (Power Query).

on saisit les données dans un tableau, on ne les déplace jamais, on ne les duplique jamais

VBA est inutile. Sauf si on veut imiter papier + crayon.

Bonjour jmd,

En fait c'est un peu complexe mais pour résumer : j'ai déjà créé une Macro me permettant de transférer les données situées sur 2 plages d'un tableau identique (que j'ai appelé "Tableau de référence" sur le second fichier que je vous ai communiqué) à celui-ci pour pouvoir dans un premier temps regrouper les dossiers en cours de traitement sur le 1er tableau du second onglet.

Dans un second temps, une fois ces dossiers regroupés dans cette plage D9:X28, éliminer manuellement les dossiers qui, entre temps, ne sont plus en cours de traitement parce que "conclus" ce qui signifie dans mon jargon qu'ils ont soit été reportés, soit abandonnés, ou soit signés par le client tout simplement.

C'est précisément cette 2nde fonction que je n'arrive pas à faire et la fonction double click de gmb fonctionne formidablement bien sur le 1er ficher mais pas sur l'original

re

gérer des données, ce que tu fais, devrait respecter les règles que j'ai citées ci-dessus

note que TOUS les progiciels fonctionnent de cette manière (fiabilité, stabilité, traçabilité, facilité d'évolutions... )

mais tu veux rester à la manière papier/crayon

c'est ton choix. Je le respecte.

le prix à payer c'est la complexité et le manque de fiabilité de VBA

bon travail à toi et à tous

amitiés

C'est bon j'ai réussi, merci encore !

La macro en question pour les intéressés :

Option Explicit

Dim derln1&, derln2&

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

derln1 = Range("D9").End(xlDown).Row

If Not Intersect(Target, Range("D9:X" & derln1)) Is Nothing Then

Application.ScreenUpdating = False

derln2 = Application.Max(30, Range("D37").End(xlUp)(2).Row)

Range("D" & Target.Row & ":X" & Target.Row).Copy Range("D" & derln2) '.Insert shift:=xlDown

Range("D" & Target.Row & ":X" & Target.Row).Delete shift:=xlUp

Range("D28:X28").Insert shift:=xlDown

End If

Cancel = True

End Sub

Rechercher des sujets similaires à "transferer ordonner lignes tableaux"