XL 2010 Fusionner 2 onglets et copier les données en bas du tableau

babass78

XLDnaute Occasionnel
Bonjour,



J’ai une macro qui va chercher les données des onglets FRNS BALANCE et SHARE pour coms et les copier dans RECAP FRNS



Explication des onglets :

Liste clts frns : Chaque ligne est un client qui va avec le fournisseur

RECAP FRNS : c’est FRNS BALANCE et SHARE pour coms réunis


L’onglet Liste clts frns en fonction de la colonne N va chercher les données de l’onglet RECAP FRNS des colonnes J à Q en fonction de la colonne J.


Mais dès que j’exécute la macro RECAPFRNS, cela fait sauter la formule dans l’onglet Liste clts frns


Peut-on ne prendre que les lignes de SHARE pour coms qui ont 1 en colonne V et le fusionner avec FRNS BALANCE pour les copier dans RECAP FRNS ?


1ère question :

Comment faire pour que la formule reste dans l’onglet Liste clts frns ?



2ème question


Onglet Nouveau : Colonne S :

Je voudrai copier les données des colonnes K à Q de RECAP FRNS et les colonnes O à U de Liste clt frns dans Nouveau à partir de la colonne T dernière ligne (nombre de lignes variables)


S’il trouve un doublon entre RECAP FRNS et Liste clt frns, il ne devra pas copier les cellules O à U dans Nouveau


Merci de votre aide
 

Pièces jointes

  • 2018 05 15 - Excel pratique - fusionner et copier données.xlsm
    958.6 KB · Affichages: 67

babass78

XLDnaute Occasionnel
Bonjour @vgendron et @job75

J’ai presque réussi à modifier le code de vgendron pour la macro FRNS_SHARE_To_Recap

Le problème c’est qu’il ne copie pas les lignes juste en dessous de FRNS BALANCE après la ligne 61

Les colonnes de SHARE pour coms arrivent au bon endroit dans RECAP FRNS

Quel est le petit truc à modifier ?

Je joins le fichier


Merci à vous
 

Pièces jointes

  • VBA SHARE BRUT FRNS Rev1 - 23 05 2018.xlsm
    816.5 KB · Affichages: 15

vgendron

XLDnaute Barbatruc
Hello
De retour de vacances !! :-D

et voici
VB:
Sub FRNS_SHARE_To_Recap()
With Sheets("RECAP FRNS")
    .UsedRange.Offset(1, 0).Delete 'Supprime TOUTES les lignes de la feuille SAUF la ligne d'entete
End With

With Sheets("FRNS BALANCE")
    .UsedRange.Offset(1, 13).Copy Destination:=Sheets("RECAP FRNS").UsedRange.Offset(1, 0) 'Copie colle TOUTES les lignes de FRNS Balance vers RECAP FRNS sous la ligne d'entete
End With

With Sheets("SHARE pour coms")
    fin = .UsedRange.Rows.Count 'Dernière ligne NON vide de la feuille Share pour Coms
    Suite = Sheets("RECAP FRNS").Range("A" & Rows.Count).End(xlUp).Row
    .Range("A2:T" & fin).Copy Destination:=Sheets("RECAP FRNS").UsedRange.Offset(Suite, 0)  'copie colle les lignes visibles après filtre en fin de feuille RECAP FRNS
End With

With Sheets("RECAP FRNS")
    .Cells.EntireRow.AutoFit
    .Cells.EntireColumn.AutoFit
End With
End Sub
 

babass78

XLDnaute Occasionnel
Bonjour Vgendron,
Merci beaucoup

J'ai encore besoin de toi si tu veux bien sûr

Suite et fin du tableau

Avant toute exécution de macro, il faut copier (Nouveau ) dans l’onglet (Ancien) car il faut garder l’historique sur le mois

Est-ce qu’il est possible d’avoir 1 macro à part ?


CLIENTS BRUT : Il faut convertir la colonne A comme (FRNS BRUT)

Les colonnes voulues se trouvent dans (Ancien) de

Colonnes à récupérer dans CLIENTS BRUT (ce qui vient du logiciel tel qu’il est)

COMPTE NUMERO CLIENT NOM CLIENT SESSION SALON SOLDE DEBIT

L’ordre de destination dans Nouveau

Colonne A =>COMPTE

Colonne B => NUMERO CLIENT

Colonne C => NOM CLIENT

Colonne D => SESSION

Colonne E => SALON

Colonne F => SOLDE DEBIT


Colonne G => Investigation

Colonne H => Commentaires

Colonne I => Statut


Colonne J => Compte

Colonne K => Numéro de Fournisseur

Colonne L => Nom de Fournisseur

Colonne M => Session

Colonne N => Salon

Colonne O =>Solde Débit

Colonne P => Solde Crédit

Colonne Q => =Commentaires Share


Les 3 onglets suivants fonctionneront ensemble

Nouveau - Liste clts frns - RECAP FRNS -


Onglet Liste clts frns
  • Les colonnes A à J sont remplis manuellement par la comptabilité fournisseurs.
C’est une base qui sert de relation entre les clients et les fournisseurs => client MV MEDIA est lié au fournisseur MV MEDIA SAS. Ils n’ont pas forcément le nom à l’identique.

Pour cause, la création des comptes n’est pas identique des deux côtés.
  • Colonnes M à V : Ce sont les fournisseurs trouvés dans l’onglet RECAP FRNS
Onglet Nouveau

Colonne J : elle permet de trouver la relation entre (Nouveau) et (Liste clts/frns colonne M)
  • Si on a un fournisseur (RECAP FRNS) qui se trouve dans (Liste clts frns), alors je copie les colonnes O à U(Liste clts frns), et les collent dans les colonnes K à R de l’onglet (Nouveau).
  • S’il ne trouve rien, je copie les colonnes M à T de l’onglet (RECAP FRNS) et les copie à la dernière ligne du tableau à partir de la colonne L dans (Nouveau).
  • Mais celui qui est trouvé dans (Liste clts frns) ne peut pas être présent à la fin du tableau de (Nouveau).

  • Pour le tableau définitif, Je n’ai pas besoin de la colonne K en jaune
  1. Colonnes G H I Investigation Commentaires et Statut
  1. Colonne G : Investigation : C’est une liste déroulante relative à l’onglet (Liste investigation) qui doit venir en colonne H
Les cellules vides seront remplies par « A relancer »
  1. Colonne H Commentaires : Il faut reprendre les commentaires de (Ancien) et les coller en colonne H
  1. Colonne I : Statut : C’est une formule =SI(G2="Compensé - Soldé";"Soldé";SI(G2="Société radiée";"A solder";SI(G2="Soldé par un avoir";"Soldé";"En cours")))
  1. Couleurs des lignes

    Couleur orange pour « A compenser Frns – Client » qui va de A à Q

    Couleur verte pour « Compensé – Soldé » qui va de A à Q

    Je te joins le fichier avec l’onglet (Ancien) fini comme je le souhaiterai

    Ils me pressent car j’ai bientôt fini dans la société où je suis
Je ne sais pas si je suis assez clair…..

N’hésite pas si tu as des questions
 

Pièces jointes

  • VBA SHARE BRUT FRNS Rev1 - 28 05 2018 VGENDRON.xlsm
    939.6 KB · Affichages: 13

vgendron

XLDnaute Barbatruc
Hello

Ouhla.. j'ai l'impression que ca part dans tous les sens....
Tu dis qu'il faut d'abord copier "nouveau" dans "Ancien" ==>mais nulle part dans ton descriptif, je ne vois ou ca apparait..?

Ta description semble expliquer comment remplir une feuille "NOUVEAU" vierge à partir de la feuille "CLIENTS BRUT"
==> ta macro "Clients_Brut_To_Nouveau" semble faire le boulot parfaitement

ensuite:
entre ton descriptif et les entetes de la feuille "NOUVEAU", il y a un décalage à partir de la colonne G
dans la feuille c'est la colonne "Référence", alors que dans ton descriptif, elle n'apparait pas.. directement "Investigation...."
dans la feuille "NOUVEAU", comment remplis tu les colonnes H à R ? --> elles sont laissées vides?

Onglet Liste clts frns
  • Les colonnes A à J sont remplis manuellement par la comptabilité fournisseurs.
C’est une base qui sert de relation entre les clients et les fournisseurs => client MV MEDIA est lié au fournisseur MV MEDIA SAS. Ils n’ont pas forcément le nom à l’identique.

Pour cause, la création des comptes n’est pas identique des deux côtés.
  • Colonnes M à V : Ce sont les fournisseurs trouvés dans l’onglet RECAP FRNS
je vois bien des infos dans les colonnes A à J.. mais de M à V.. rien...??

Onglet Nouveau

Colonne J : elle permet de trouver la relation entre (Nouveau) et (Liste clts/frns colonne M)
  • Si on a un fournisseur (RECAP FRNS) qui se trouve dans (Liste clts frns), alors je copie les colonnes O à U(Liste clts frns), et les collent dans les colonnes K à R de l’onglet (Nouveau).
  • S’il ne trouve rien, je copie les colonnes M à T de l’onglet (RECAP FRNS) et les copie à la dernière ligne du tableau à partir de la colonne L dans (Nouveau).
  • Mais celui qui est trouvé dans (Liste clts frns) ne peut pas être présent à la fin du tableau de (Nouveau).
pas compris qu'elle info tu cherches ou sur quel critère et pour mettre Ou...?
 

babass78

XLDnaute Occasionnel
Bonjour vgendron
Mes réponses sont en couleur bleu

Tu dis qu'il faut d'abord copier "nouveau" dans "Ancien" ==>mais nulle part dans ton descriptif, je ne vois ou ca apparait..?
Une fois « Nouveau » terminé, il faut le copier dans ancien mais on peut créer la macro après (Ce sera une macro qui sera cliqué en premier avant toute exécution des macros suivantes)


Ta description semble expliquer comment remplir une feuille "NOUVEAU" vierge à partir de la feuille "CLIENTS BRUT"
==> ta macro "Clients_Brut_To_Nouveau" semble faire le boulot parfaitement

Oui la macro "Clients_Brut_To_Nouveau" le fait bien grâce à ton code que j’ai repris et modifié pour la feuille Nouveau

ensuite:
entre ton descriptif et les entetes de la feuille "NOUVEAU", il y a un décalage à partir de la colonne G
dans la feuille c'est la colonne "Référence", alors que dans ton descriptif, elle n'apparait pas.. directement "Investigation...."

=> J’ai remis l’en-tête de la colonne G

dans la feuille "NOUVEAU", comment remplis tu les colonnes H à R ? --> elles sont laissées vides?

=>Colonnes G H I Investigation Commentaires et Statut

1) Colonne H : Investigation : C’est une liste déroulante relative à l’onglet (Liste investigation) qui doit venir en colonne H
Les cellules vides de cette colonne seront remplies par « A relancer »

2) Colonne I Commentaires : Il faut reprendre les commentaires de (Ancien) et les coller en colonne H

3) Colonne J : Statut : C’est une formule =SI(G2="Compensé - Soldé";"Soldé";SI(G2="Société radiée";"Asolder";SI(G2="Soldé par un avoir";"Soldé";"En cours")))


« Nouveau » Colonnes K à R :

Ce sont les infos de « Liste clts frns » colonnes M à T

Après les lignes 23 : les infos viennent de l’onglet RECAP FRNS

S'il ne trouvent pas dans Liste clts frns, la macro copie les infos de l'onglet RECAP FRNS


Onglet Liste clts frns

  • Les colonnes A à J sont remplis manuellement par la comptabilité fournisseurs.
C’est une base qui sert de relation entre les clients et les fournisseurs => client MV MEDIA est lié au fournisseur MV MEDIA SAS. Ils n’ont pas forcément le nom à l’identique.

Pour cause, la création des comptes n’est pas identique des deux côtés.


  • Colonnes M à V : Ce sont les fournisseurs trouvés dans l’onglet RECAP FRNS
Cliquer pour déplier...


je vois bien des infos dans les colonnes A à J.. mais de M à V.. rien...??


=>J’ai remis les formules dans les colonnes K à V mais les formules sautent quand on exécute la macro Frns_balance_et_share_to_recap

Par contre dans RECAP FRNS, il reprend 2 fois les colonnes d’en-tête


Onglet Nouveau

Colonne J : elle permet de trouver la relation entre (Nouveau) et (Liste clts/frns colonne M)


  • Si on a un fournisseur (RECAP FRNS) qui se trouve dans (Liste clts frns), alors je copie les colonnes O à U(Liste clts frns), et les collent dans les colonnes K à R de l’onglet (Nouveau).
  • S’il ne trouve rien, je copie les colonnes M à T de l’onglet (RECAP FRNS) et les copie à la dernière ligne du tableau à partir de la colonne L dans (Nouveau).
  • Mais celui qui est trouvé dans (Liste clts frns) ne peut pas être présent à la fin du tableau de (Nouveau).
Cliquer pour déplier...

pas compris qu'elle info tu cherches ou sur quel critère et pour mettre Ou...?


Je cherche l’info des colonnes M à T de « Liste clts frns » selon le critère de la colonne G de « Nouveau »

Les cellules trouvées se collent sur l’onglet Nouveau à partir de la colonne K

Exemple MV MEDIA en jaune


Je te remercie par avance

Si tu as d’autres questions, n’hésite pas
 

Pièces jointes

  • VBA SHARE BRUT FRNS Rev1 - 31 05 2018 VGENDRON.xlsm
    871.3 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
euh..non désolé.. je ne comprend rien...
à partir de ton dernier fichier (post 39)

1) je fais un copier coller de la feuille "Clients Brut Sauv" vers la feuille "Clients brut"
2) je lance la macro "Clients_Brut_To_Nouveau"
==> la feuille "Client Brut" finit vierge
==> la feuille "NOUVEAU" se retrouve avec 903 lignes de données sur les colonne A à G
Toi. dans le fichier que tu postes.. tu n'as que 44 lignes de données et des colonnes K à Q remplies...
comment fais tu pour passer de 903 lignes à 44 lignes?
 

vgendron

XLDnaute Barbatruc
Bon..
pas sur d'avoir compris...
donc voici ce que fait ce début de macro

1) Efface la feuille Nouveau pour garder juste les entetes
2) convertit la feuille "Clients brut" en colonnes
3) copie les colonnes de "CLIENTS BRUTS" vers "NOUVEAU"
4) met la formule en colonne G
5) met la liste de validation sur la colonne H
6) compare Feuille 'NOUVEAU" et "ANCIEN" pour récupérer les commentaires qui étaient dans ANCIEN pour les mettre dans NOUVEAU
7)compare feuille "NOUVEAU" et "Liste clts frns" pour récupérer les colonnes M à T de l"iste clts frns" pour les copier dans les colonnes K à R de "Nouveau"

ensuite....??

est ce que déjà.. ca correspond?
 

Pièces jointes

  • VBA SHARE BRUT FRNS Rev1 - 31 05 2018 VGENDRON.xlsm
    948.7 KB · Affichages: 11

vgendron

XLDnaute Barbatruc
ok, je regarde ca demain

en attendant.. les nombreux N/A me sortent par les yeux.. et je pressens qu'ils sont en partie, à l'origine des difficultés à s'y retrouver..
pour ne PAS avoir les N/A, il suffit d'encadrer la formule de rechercheV par un sierreur

=sierreur(formule,"")
et comme ta formule de RechercheV, ne me plait pas trop non plus (elle va de la ligne 2 à la ligne 534), je te propose une autre formule à base de equiv, index et d'une zone nommée qui prend TOUT le tableau de data.
exemple: Dans la feuille Share pour coms, j'ai créé la zone "TabSharePourCom" qui va de A2:T30
Dans la feuille FRNS Balance colonne T, j'ai mis la formule (j'ai modifié le code en conséquence)

voila :-D
 

Pièces jointes

  • VBA SHARE BRUT FRNS Rev1 - 31 05 2018 VGENDRON.xlsm
    998.1 KB · Affichages: 15

Discussions similaires

Réponses
7
Affichages
312

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa