Tout premier pas sur macros galère pour débutant
Bonjour à tous,
Je commence à m'intéresser aux macros et pour ce faire j'ai acheté un bouquin appelé "Macros et language VBA". En soit le bouquin est bien et j'apprends les bases, par contre pour aller dans le concret je me retrouve devant une page blanche....
Je ne suis ni ingénieur, ni informaticien et je manque cruellement de méthode pour construire mon code.
J'ai un premier fichier pour lequel j'aimerais construire une macro, mais comme je vous le disais, je ne sais vraiment pas par quel bout prendre le problème.
Vous serait il possible de me guider un peu ? me dire comment vous envisageriez la macro ? (l'idée n'étant pas de me le faire, bien au contraire mais plus de me baliser le chemin)
J'ai essayer d'ajouter les fichiers, par contre ils sont beaucoup trop volumineux, même zippés (500Ko un)
Dans le détail, voici les changements que ma macro doit apporter :
• Supprimer colonne A (vide), H (« Soc. »), I (« Com. »), J (« Agex. »), K (« libellé agence exploitation »), L (« libellé agence rattachement), puis de AB (« motif gel ») à BM (la dernière)
• Ajout colonne "RS" :
Ajouter une colonne entre « Ville » et « code client » appelée « RS »
Ajouter une feuille appelée « RS » et y coller une table de conversion (comment et ou la macro pourrait elle récupérer la table de conversion ?)
Ajouter dans la colonne « RS » la formule : =RECHERCHEV(H3237;RS!A:B;2;FAUX)
petit détail supplémentaire : le nom du fichier de base change à chaque fois puisque c'est une extraction de notre SI.
J'avoue, rien de bien compliqué à mettre en place mais comme je vous le disais, c'est plus sur le "comment j'écris ca" que je bloque.
Merci d'avance à ceux qui voudraient bien m'aider à passer ce palier
Cordialement,
Cyril
bonjour
en général pas besoin de macro pour exploiter un fichier sorti par un ERP ou une GPAO au format xls ou xlsx
joins un exemple de sortie, et le modèle que tu voudrais obtenir
Bonjour
pour joindre un fichier gros utilise
et une fois le fichier mis en ligne, met le lien dans un nouveau message sur le forum
fred
Bonjour à tous,
Merci pour vos première réponses.
en général pas besoin de macro pour exploiter un fichier sorti par un ERP ou une GPAO au format xls ou xlsx
joins un exemple de sortie, et le modèle que tu voudrais obtenir
Comme quoi j'ai bien besoin d'aide :p
Après, le fichier n'est pas pour moi, mais pour une personne qui maîtrise beaucoup moins bien Excel. Elle met 3/4h chaque semaine à construire le fichier final et j'aimerais bien la voir passer ce temps là à autre chose. C'est pour ça que je visais une macro... Ais je tort ?
Voici les deux documents :
document de départ : https://www.cjoint.com/c/FCskLtdvoiT
Document d'arrivée : https://www.cjoint.com/c/FCskMNfk0lT
re
le fichier de départ n'est pas une extraction d'ERP, il est déjà retravaillé
je pense qu'il ne faut pas faire de second fichier, il suffit de filtrer selon la colonne TRUC, et éventuellement masquer quelques colonnes
je n'ai pas joué au jeu des 7 erreurs entre les 2 fichiers
nota : ne jamais fusionner des cellules, c'est le meilleur moyen pour perdre toute la souplesse d'Excel (pour les tris, filtres, macros éventuelles...)
Bonjour,
pour répondre à JMD :
le fichier de départ n'est pas une extraction d'ERP, il est déjà retravaillé
C'est une extraction de notre système interne (AS400), c'est comme ça qu'elles se présentent
je pense qu'il ne faut pas faire de second fichier, il suffit de filtrer selon la colonne TRUC, et éventuellement masquer quelques colonnes
Nous ne faisons pas de second fichier, nous recevons l'extraction et la mettons en forme.
je n'ai pas joué au jeu des 7 erreurs entre les 2 fichiers
pas besoin , j'ai déjà expliqué dans mon premier messages quelles étaient les différences, les voici :
Dans le détail, voici les changements que ma macro doit apporter :
• Supprimer colonne A (vide), H (« Soc. »), I (« Com. »), J (« Agex. »), K (« libellé agence exploitation »), L (« libellé agence rattachement), puis de AB (« motif gel ») à BM (la dernière)
• Ajout colonne "RS" :
Ajouter une colonne entre « Ville » et « code client » appelée « RS »
Ajouter une feuille appelée « RS » et y coller une table de conversion (comment et ou la macro pourrait elle récupérer la table de conversion ?)
Ajouter dans la colonne « RS » la formule : =RECHERCHEV(H3237;RS!A:B;2;FAUX)
Maintenant je sais que c'est assez simple comme manip', mais comme je l'expliquais :
1/ la personne qui fait cette manip' n'est pas douée et perd beaucoup de temps à la faire
2/je souhaite apprendre à faire des macros et un sujet simple me parait parfait pour débuter
Alors pour le fait que tu veuille apprendre et comprendre un peu mieux les macros je peux te conseiller par faire un enregistrement de macro.
Par exemple tu lance l'enregistrement, tu fais ce que tu dois faire (Supprimer colonne A, H, ..., Ajouter..., Créer feuille ..., intégrer ta base, Coller la formule à tel endroit etc..), Arrête l'enregistrement. Ensuite tu vas dans macro et tu clique sur ta macro enregistrée et tu fais "modifier" et là tu verras un code que excel ta généré automatiquement avec ce que tu as fais. Et là tu verra surement des lignes inutile car tu le fais manuellement, mais tu découvrira aussi les principales fonction qu'il a utilisé.
Après c'est comme cela que j'ai débuté sur l'apprentissage du code avec des actions simple (Ajouter quelques choses dans une case précise par exemple), mais peut-être que ce n'est pas forcément adapté pour tout le monde, mais c'est un conseil que je peux donner si ça peut servir !
Bonjour,
Alors pour répondre à Avi, plusieurs personnes me l'ont déconseillé car c'est la meilleur façon de prendre des mauvaises habitudes.
Du coup, y aurait il quelqu'un pour me donner un coup de main ou pas ? Encore une fois je ne demande pas qu'on me le fasse, mais si quelqu'un pouvait m'aider à dégrossir le truc en m'expliquant comment il construirait la macro ce serait vraiment sympa !
(du genre je commencerais par supprimer les colonnes, puis ecrire la table de correspondance puis etc. du coup ca ferait une première boucle pour ça suivit d'un "IF then" ou autres)
Merci d'avance
Cyril
re
pourquoi ne pas créer un fichier contenant uniquement des = qui renvoient vers le fichier de départ, uniquement vers les colonnes voulues bien entendu
Exemple en A2
='[FCskLtdvoiT_depart-1.xls]Detail'!A2
tu y ajoutes la colonne RS contenant la formule
et le tour est joué
pas de VBA !
aucun calcul !
Bonjour jmd,
merci effectivement ça pourrait marcher sauf que le fichier de départ est une extraction qui va changer de nom à chaque fois. ça obligerait donc la personne (qui n'est pas moi) à aller changer le nom (tarabiscoté bien sur) dans chaque formule. Bien trop lourd pour son niveau.
De plus, le but est que le fichier de départ devienne le fichier d'arrivée après application des changements, faire des "=" reviendrait à aller piocher dans le fichier de la semaine précédente ce qui n'a aucune utilité puisque les infos que je souhaite mettre en forme sont sur celui de la semaine en cours.
Voilà donc pourquoi je veux faire une macro que la personne en charge n'aura qu'à lancer pour préparer son fichier et en sortir les infos nécessaires à son travail le plus rapidement possible.
re
il suffit chaque semaine de renommer le fichier extrait "extrait.xls" (est-ce un si gros travail ? )
les formules de fichierdestination.xls pointant vers extrait.xls ne changeront donc jamais
Et seront toujours à jours
pas de macro
pas de calcul
bon ... ben en gros je me démerde ...