Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3045 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA excel Consolidation de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA excel Consolidation de données

n°2254698
kamembert
Posté le 01-04-2015 à 12:09:30  profilanswer
 

Bonjour à tous.
 
Voici mon problème
 
je dispose de 2 tableaux excel et je dois en utiliser un pour compléter les données de l'autre
 
Ce sont des fichiers de clients. Dans chacun d'eux il y a le nom du client, un identifiant unique, le Code Postal, l'adresse etc.
 
J'ai une base complète avec toutes les infos à jour qui s'appelle GERS
J'ai une base incomplète qui s'appelle CLIENT
 
Ce que j'essaie de faire :
 
Je crée un document Excel qui contient 3 onglets : GERS, CLIENT et TAMPON (qui servira de mémoire tampon)
 
Je souhaite faire un parcours de l'onglet CLIENT ligne par ligne
lorsque j'arrive sur une ligne ou le CIP (identifiant unique du client) est absent, je vais alors faire un parcours dans l'onglet GERS pour trouver toutes les lignes ou le CP (code postal) est égal à la ligne ou le CIP est manquant.
A chaque fois que les CP correspondent je copie colle la ligne depuis l'onglet GERS vers l'onglet TAMPON
Si dans l'onglet TAMPON il n'y a qu'une seule ligne a la fin du parcours, je copie-colle le CIP depuis TAMPON vers CLIENT
Si il y a plusieurs lignes, je mets en pause la macro le temps que l'utilisateur choisisse la bonne ligne (car il peut y avoir plusieurs client ayant le même CP. L'utilisateur trouvera le bon à l'aide des autres infos présentes)
Lorsqu'on clique sur un bouton de genre "suivant" la macro reprend.
 
Ça fait bien longtemps que j'ai pas fait de VB donc c'est surement bourré de fautes de syntaxe, mais en gros voila ce que j'ai pour le moment :
http://pastebin.com/nCZ8kSuB
 
Pour mieux comprendre :
Le CIP est dans la colonne 2 sur la feuille CLIENT et dans la colonne 4 sur la feuille GERS
Le CP est dans la colonne 6 sur CLIENT et 2 sur GERS
 
 
Voila pour mon problème. Dites moi si c'est pas clair, je peut donner des compléments d'info.
Merci par avance de votre aide.

mood
Publicité
Posté le 01-04-2015 à 12:09:30  profilanswer
 

n°2254724
Marc L
Posté le 01-04-2015 à 16:01:11  profilanswer
 

 
           Bonjour,
 
           en utilisant un filtre ou un filtre avancé, le tampon est inutile …
           Et puis le code postal n'est peut-être pas le critère optimal !
 
           Conformément aux règles du forum, y-a-t-il une question technique sur un point précis ?
  

n°2254750
kamembert
Posté le 01-04-2015 à 18:26:53  profilanswer
 

Ben c'est plutôt une question d'ordre général : est-ce que la méthode que j'envisage parait correcte ou complétement stupide ?
 
J'avais pensé aux filtres mais le souci c'est que le code postal est la seule valeur commune à ces deux listes (ou en tout cas renseigné avec le même format)
C'est pour ça que j'ai besoin du tampon car lorsqu'il y a plusieurs résultats pour le code postal je n'ai aucun moyen de le différencier automatiquement.
 
Et du coup la question c'est aussi de savoir si y'a moyen de mettre en pause une macro pendant son exécution ou bien est-ce qu'il faut que je revoie le mode de fonctionnement pour traiter au cas par cas et non tout dans une seule boucle ?

n°2254752
Marc L
Posté le 01-04-2015 à 18:42:56  profilanswer
 

 
           Si tu un grand débutant en VBA tu peux utiliser une feuille de calculs intermédiaire mais elle n'est pas vraiment utile
           et ce, quel que soit la méthode utilisée …
 
           Si dans le code par exemple la méthode  Application.InputBox  est déclenchée, de facto le code est en pause !
 
           _________________________________________________________________________________________________
           Je suis Charlie  -  Je suis Bardo

 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA excel Consolidation de données

 

Sujets relatifs
VBA EXCEL exportation de donnée vers une BDEXCEL VBA Liaison Excel Base de donnée toute simple
Error Time 424 - VBA - Export vers wordVBA - Choisir les colonnes qui seront affichees
[Excel 2013] - Recherche date plus récente par IDInsérer dans la base de données à partir d'un checkbox
VBA / lancer un publipostageExcel : passer un range "complexe" à une fonction
Plus de sujets relatifs à : VBA excel Consolidation de données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR