Importer des données d'un classeur ext
Bonjour,
Je me permets de vous contacter car j’ai besoin d’une aide sur un document.
Tous les matins, nous imprimons un récapitulatif pour le travail.
Nous saisissons ensuite manuellement ces données dans un suivi.
Une mise à jour permet désormais d’extraire ce récapitulatif en Excel.
Je me suis donc dit : « Bingo, on va pouvoir automatiser la tâche ».
Sauf que le « bingo » devient moins fun car je suis incapable de réaliser cette macro.
Malgré mes recherches sur le net, je n’y arrive pas.
J’ai des bouts de macros d’autres tableaux, ainsi que de mes recherches mais cela ne donne rien, je n’y arrive pas
Ce que je souhaiterais que la macro réalise :
1. Je sélectionne dans une boite de dialogue le récapitulatif au format Excel.
2. La macro ajoute les données à une base de données qui alimente un tableau croisé dynamique
Ca a l’air simple mais là où je bloque c’est que je n’ai besoin que des lignes « 50000088 » et « 30000089 »
De plus, le nombre d’identifiant peut changer (plus ou moins nombreux)…
Enfin, il faut trouver les lignes comportant les infos, puis prendre la quantité qui se trouve sur cette même ligne et en faire le rapprochement avec la région au-dessus
Pouvez-vous m’aider ?
Je vous joins un récapitulatif exemple, le récapitulatif avec en couleur les données qui m'interessent et mon tableau de suivi en exemple avec les infos dont j’ai besoin.
Si je ne suis pas assez clair, redites moi
Merci d’avance à tous,
Excellente journée,
Loïc
Bonjour Loïc,
J'ai pas tout compris à ta demande... ^^
Quand tu dis
le récapitulatif il sort au format des fichiers EX.RECAP.GV.xls joints à ton message?Une mise à jour permet désormais d’extraire ce récapitulatif en Excel
la boîte de dialogue, elle apparaît dans un fichier excel vierge? ou dans le fichier contenant la base de données à alimenter?Je sélectionne dans une boite de dialogue le récapitulatif au format Excel
quelles données? si j'ai bien compris, tu n'as besoin que des lignes concernant les références « 50000088 » et « 30000089 » ?La macro ajoute les données...
les lignes contenant les références « 50000088 » et « 30000089 » doivent être ajouter à la base de données dans la bonne région?...à une base de données qui alimente un tableau croisé dynamique
A quoi ressemble la base de données? Est-elle structurée comme le fichier récap?
Est-ce que les lignes totaux de ton fichier récap (lignes 60 à 69) sont à prendre en compte?
et enfin: pourquoi pas une macro qui automatiserait le fichier Suivi (j'ai pas trop compris s'il interviendrait dans ton projet actuel de macro) ?
Bonjour
merci pour ta réponse
Je vais essayé d'être plus clair :
Le document que j'ai joint nommé "EX.RECAP.GV" est l'extraction provenant de mon logiciel.
Le document "EX.SUIVI.GV" est un exemple du suivi que j'en fais.
Sur "EX.SUIVI.GV" je souhaiterais avoir sur l'onglet "SUIVI GV" un bouton.
Je clique sur ce bouton, une fenêtre s'ouvre dans laquelle je sélectionne mon récap du jour.
La macro se lance et importe dans l'onglet "BDD GV" les données à récupérer.
Le tableau croisé dynamique se met alors à jour.
Fin de la mcro
Ca a l'air si simple comme ca :p
La partie total en bas du récap ne m'interesse pas, il s'agit uniquement des résultats par région pour les deux données : « 50000088 » et « 30000089 »
Suis je plus clair ? :s
Merci encore,
Bonne journée,
Loic
en effet, c'est plus clair...
je reviens vers toi si j'arrive à qqchose ou si je constate que c'est trop compliqué pour moi
Merci à toi pour ton aide !
Au top
Bonne soirée,
Loic
Loïc,
regardes ce que je te propose dans fichier joint.
Bon, mon code est très moche (sauf pour la partie pour choisir le fichier à ouvrir dans une boîte de dialogue que j'ai trouvé sur un forum , merci le web!!
mais ça semble fonctionner, jusqu'à un certain point du moins! la macro ne fonctionnera pas si la mise en page de ton fichier récap diffère en quoi que ce soit de ceux que tu as joint à ta demande initiale (ou modifier la macro en conséquence).
Je sais pas s'il peut y avoir bcp de lignes sous chaques lignes Région(ligne 29, 36 et 43 dans ton fichier recap couleur), je suis partie sur une quantité de 4.
Teste tout ça et dis moi si c'est OK.
Bonjour,
Ca fonctionne au top
EDIT : je viens de voir en lisant la macro que ca ne cherche que les régions alors qu'il peut y en avoir encore plus comme DOM, TOM, Centre...
En fait il faudrait que ca prenne toutes les régions, quelles qu'elles soient. Seules les ...88 et ...89 sont importants en réalité.
Juste une petite question qui me vient mais que je n'ai pas testé.
Est ce que, si il n'y a pas de données ou que la feuille sélectionnée est incorrecte ca arrete la macro ou ca la bug?
Enfin, pour répondre à ta question, il peut y avoir jusqu'a 40 lignes sous les lignes de régions.
Comment puis je modifier la quantité de 4 que tu as mise, est ce que la grande quantité peut être bloquante ?
Un grand merci,
Excellente journée,
Loic
tu parles des nouvelles régions administratives ou des anciennes? avec les DOM-TOM aussi donc.En fait il faudrait que ca prenne toutes les régions, quelles qu'elles soient
Il devrait être possible de les lister dans un autre onglet de ton fichier suivi, de nommer cette plage et de l'utiliser comme plage de référence pour la recherche (suis-je claire??
La macro va chercher les données à "importer" la feuille nommées Sheet1.Est ce que, si il n'y a pas de données ou que la feuille sélectionnée est incorrecte ca arrete la macro ou ca la bug?
- Si pas de feuille nommée Sheet1 => bug
- si les données sont sur une autre feuille que Sheet1 => pas de bug mais les données ne seront pas copiées
dans le code, là où c'est écrit :il peut y avoir jusqu'a 40 lignes sous les lignes de régions.
Comment puis je modifier la quantité de 4 que tu as mise
For j = l1 To l1 + 4
, tu remplaces par
For j = l1 To l1 + 40
Je pense pas que la quantité puisse être bloquante mais ça pourra ralentir le temps d'exécution. A tester...
Re
Je fais la modif pour le 4 en 40.
Concernant, le possible bug, comment puis je corriger que si on se trompe de feuille en selectionnant, et qu'il n'y a pas de "feuil1" ca quitte la macro sans bug?
Je voulais egalement savoir ci qu'il en est si il n'y a aucune région ou aucune donnée à importer.
Pour la liste des régions, en toute franchise, j'ai mis "région" dans mon exemple pour "anonymer" le document.
Reellement il s'agit de numéro qui ne peuvent pas être listés car il y en a des centaines et ils changent régulièrement sans le savoir...
Désolé
Merci encore,
Bonne journée,
Loic
Re
Concernant la gestion des erreurs, j'ai testé avec On error go to Action qui doit être placé en début de macro.
En fin de macro, l'action doit être définie.
Par exemple, dans ton code :
Sub ImportRecap()
Dim objOuvrir As FileDialog
Dim objFichiers As FileDialogSelectedItems
Dim x As Long, nblgn As Long
Dim Wb As Workbook
'Gestion si erreur d'exécution
On Error GoTo gestionErreur
'corps de la procédure
'[...]
gestionErreur:
'affiche un message d'erreur
MsgBox "Une erreur est survenue et l'import des données n'a pas pu être effectué."
End Sub
Je met un fichier v2 en PJ, si tu veux faire un test avec une feuille ne contenant pas d'onglet nommé Sheet1 par exemple.
Voilà, j'espère que tu arriveras à finaliser ton fichier comme tu le souhaites.
A+