Données importées

Fermé
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015 - 21 sept. 2015 à 12:28
f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024 - 22 oct. 2015 à 11:21
Bonjour à tous,
Me voici bien embêtée ... Je dois faire un fichier Excel reprenant les données d'un import et suis bien trop novice en VB pour y arriver ...
Mon import se présente en txt brut. Je dois supprimer la colonne A et toutes les lignes vides afin d'obtenir les données à utiliser. Jusque là, j'ai trouvé (d'ailleurs dans mon fichier joint vous verrez qu'il n'y a plus de colonne A vide ni de ligne vide)
Une fois les données « brutes » les choses se présentent comme suit :
- Onglet « Page de garde » : Mon formulaire
- Onglet « Import » : mes données brutes
- Onglet « Statistiques » : le résultat final souhaité
- Onglet « Données statiques » : Correspondances entre les codes importés et les codes souhaités, entre les codes et intitulés, etc.
Je vous ai mis mon fichier en PJ
http://www.cjoint.com/c/EIvkyaKzXJJ
pour que ce soit plus clair car c'est bien compliqué à expliquer sans exemple visuel.
Histoire de compliquer le tout, je dois récupérer les données importées et les mettre dans la colonne correspondant au mois indiqué dans le formulaire de la page de garde.
Je dois donc :
Récupérer les données pour chacun des adhérents dont le numéro est en colonne (devenue) A de l'onglet « Import » et insérer dans mon 1er tableau (correspondant au 1er adhérent) les données de cet adhérent.
Sachant qu'en colonne B de l'onglet « Import » j'ai un code action (exemple : WX) qui correspond à un code filière dans l'onglet « Statistiques ». La correspondance entre les deux est indiquée dans un tableau sur le dernier onglet (exemple : WX correspond à TR) ...
Au « couple » adhérent + code j'indique le chiffre trouvé en colonne C de l'onglet « Import » dans la case correspondante (adhérent + code correspondant + mois indiqué) de l'onglet « Statistiques » puis le chiffre de la colonne D « Import » dans la case d'en dessous.....

Sur mon fichier c'est plus clair.... J'ai mis des codes couleurs.

2 réponses

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
21 sept. 2015 à 15:25
Bonjour,

Je n'ai pas tout compris... Pardon... En fait, il faut juste que le premier adhérent soit mis dans la page de garde?
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
21 sept. 2015 à 15:51
Bonjour Kuartz,
Non il faut parcourir toutes les lignes importées pour remplir le tableau des statistiques.
A un même adhérent correspond plusieurs lignes importées (pas forcément le même).
Il y a deux hics:
- A un adhérent correspond plusieurs codes filières et ce ne sont pas les mêmes d'une feuille à l'autre (code filière dans la 1ere, code domaine dans la 2nde => tableau des correspondances dans une 3 ème feuille ...)
- Les données importées sont sur une même ligne alors qu'elles doivent figurer sur 2 lignes dans mon tableau des statistiques.
0
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
21 sept. 2015 à 15:53
Et sur la page de garde il y a le mois que l'on souhaite obtenir (donc il faut aller dans le tableau des Statistiques mettre les chiffres dans les cases correspondantes au mois sélectionné) et le bouton qui lance la macro
0
f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024 1 708 > HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
21 sept. 2015 à 16:10
Bonjour a vous deux,

HellM:

Vous connaissez un peu le VBA ou vraiment pas du tout????

Principe du travail faire:
Une fois l'import effectue, il faut remplacer les codes importes par les codes equivalents dans l'onglet import. Ensuite, pour chaque code, chercher, dans l'onglet import, chaque ligne ou il y a ce code pour trouver le code adherent et les infos a copier. A chaque lignes trouvee, faire une recherche dans l'onglet Statistiques avec le couple code+adherent (ca fait moins de recherche) et ecrire NOMBRE DE MOUVEMENTS sur le meme ligne et NOMBRE D"ANNULATIONS sur la ligne du dessous, sous-entendu dans les bonnes cellules
0
f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024 1 708 > HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
21 sept. 2015 à 16:55
Re,

Tout a fait Thierry, mais pouvez vous repondre a

f894009 - 21 sept. 2015 à 16:10

merci
0
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015 > f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024
23 sept. 2015 à 14:46
Je peux en effet répondre mais je n'ai pas accès à Internet tout le temps et vous imaginez bien que si je pose toutes ces questions c'est que Non je ne connais pas VBA si ce n'est copier un fichier, ajouter un onglet, supprimer une colonne, renommer fichier et onglet et d'autres petites choses comme ça ... D'où ma demande d'aide ... :)
0
f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024 1 708
24 sept. 2015 à 18:09
Re,

fichier modifie pour l'onglet Statistiques: https://www.cjoint.com/c/EIyqhEo3qof

Bouton bleu pour traitement de l'import

Faut-il faire pour l'onglet Donnees Statiques (bouton rouge)
Bonjour f894009,
Désolée de cette réponse très tardive, je n'avais plus accès à mon ordi. Je ne peux pas ouvrir depuis mon boulot les fichiers déposés sur cjoint mais le ferai ce soir depuis chez moi.
En tout cas un immense merci pour le temps passé sur mon problème!!!
HellM
0
Re-bonjour
La politique de l'entreprise a du changer car j'ai bien accès aux fichiers sur cjoint! Tant mieux. Tout fonctionne parfaitement, encore un très très grand merci! je vais maintenant m'atteler à comprendre le code :)
Très bonne journée
0
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
19 oct. 2015 à 11:36
Bonjour f894009,
Me revoici ...
J'ai intégré ton code dans mon fichier, ai ajouté une ou deux macro et ai fait quelques tests sur un nombre restreint d'adhérents = Tout est ok
Ce matin j'ai vérifié en réel le fonctionnement et j'ai l'erreur suivante: Erreur d'execution "6", dépassement de capacité.
J'ai essayé de voir où était définie cette capacité et comment la changer mais je ne trouve pas...
Dans le fichier que j'avais mis sur Cjoint il y avait 4 adhérents je crois, là j'en ai 20 et il semblerait que de nouveaux adhérents soient à ajouter d'ici peu...
Une idée stp?
PI: lorsque je lance le débogueur j'ai la ligne NbMove = IIf(IsNumeric(Plage(x,2)), Plage(x,2),0):.... qui est surlignée (fonction Traitement_Données_Zones(Plage As Range)
0
f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024 1 708 > HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015
19 oct. 2015 à 12:10
Bonjour,

Dans
Sub Traitement_Donnees_Zones(Plage As Range)

remplacez
Dim NbMove As Integer, NbCancel As Integer

par
Dim NbMove As Long, NbCancel As Long
0
HellM Messages postés 33 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 22 octobre 2015 > f894009 Messages postés 17197 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juillet 2024
19 oct. 2015 à 12:24
Re,
J'ai une incompatibilité de type (même fonction mais ligne ValCherch = CInt(Plage(1,0))
J'ai regardé sur le forum et les cours sur Internet mais j'ai du mal à comprendre CInt...
Désolée de toutes ses demandes ...
0