Help! Extraire données en tableau + publipostage - VB/VBA/VBS - Programmation
Marsh Posté le 05-06-2012 à 21:54:28
Pour info, c'est pas une BD puisque dans une BD, t'aurait une table "employés" et une table "Poste" et une table "Planning" et tu trouverais dans cette dernière table, un ID de l'employé et un ID du poste pour un créneau horaire.
La solution serait peut-être justement de transformer ce planning Excel en vrai BD...
Sinon, ben t'es bon pour faire une macro vba dans Excel, par ex, qui va analyser ton tableau et faire le traitement approprié (ex : collecter pour chaque employé non traité, les lignes de son planning puis envoyer le tout par mail ou autre moyen).
Marsh Posté le 05-06-2012 à 22:01:09
Bonsoir, merci du coup de main
Je vois ce que tu veux dire pour BD, mais bon c'était surtout pour expliquer que toutes mes données sont dans ce tableau
J'avais tenté access... avec les tables relations tout ça, mais j'ai trouvé que c'était trop complexe et j'apprenais lentement (et pas assez vite pour le temps imparti ) alors j'ai laissé tombé.
pour vba ok, mais comment mettre en forme le tableau comme je le souhaite (vertical) une fois le "tri" effectué?
edit : et puis je suis une fille , tu as oublié un E
Marsh Posté le 06-06-2012 à 07:15:54
Bonjour,
Début de piste sans vba, tu filtre sur le nom que tu veux (DUPONT par exemple).
Une fois filtré, tu sélectionne de la cellule C1 (valeur = POSTE) jusqu'à le cellule qui représente la dernière colonne et dernière ligne (G4 dans l'exemple).
Ensuite, il suffit de faire un copier + collage spécial transposé et tu as la mise en forme demandée.
Si tu veux l'automatiser, il faut utiliser vba. L'enregistreur de macro te sera fort utile.
Marsh Posté le 06-06-2012 à 09:03:20
Vaut mieux automatiser ça, elle a parler de 250 personne
Je doute qu'elle trouve une solution sans passer par de la programmation (dans le cas présente, du VBA)...
tsouw, pour la mise en forme du tableau "comme tu veux", tu vas faire une macro VBA qui va prendre les données de ton tableau pour les mettre en forme dans un autre tableau (ou un autre onglet du fichier Excel contenant le tableau initial).
Marsh Posté le 06-06-2012 à 10:08:44
Bonjour,
Merci pour vos réponses, et... Oui il faut vraiment que ça soit automatisé! je vais souffrir sinon
rufo : ok pour VBA est ce que tu aurais des pistes de formules/fonction pour cela? Je ne connais pas du tout.. je vais commencer à me renseigner
De plus, est ce que c'est possible de "coupler" avec un publipostage? car je souhaite également leur envoyer du "texte".
Marsh Posté le 06-06-2012 à 10:52:39
Tu peux préciser ce que tu entends par publipostage? Pour moi, ça m'évoque la fonction de Word qui prend en source de données, par ex des noms de personnes + adresses et remplit un fichier word Modèle autant de fois que de lignes dans le fichier source.
Marsh Posté le 06-06-2012 à 11:06:11
rufo a écrit : Vaut mieux automatiser ça, elle a parler de 250 personne |
Ouep, c'était pour ça ma dernière phrase.
Partir sur ma solution de copier/coller transposé avec l'aide de l'enregistreur de macro et ensuite modifier la macro pour le faire pour chaque matricule.
Ensuite, il est possible d'envoyer des mails par macro avec par exemple : CreateObject("CDO.Message" ).
Mais bon, tout ça en partant de 0 en vba, ça me semble compliqué
Marsh Posté le 06-06-2012 à 11:29:29
rufo a écrit : Tu peux préciser ce que tu entends par publipostage? Pour moi, ça m'évoque la fonction de Word qui prend en source de données, par ex des noms de personnes + adresses et remplit un fichier word Modèle autant de fois que de lignes dans le fichier source. |
vave a écrit : |
C'est ça le publipostage grosso modo, mais c'est surtout pour ajouter du texte à destination des employés (bonjour veuillez trouver blabla, rappel de leurs postes...)
Si avec la macro je peux envoyer par mails les plannings + un mot "perso" ça me va aussi, mais en deux semaines j'ai le temps d'apprendre à faire ça?
Vu l'orientation du topic peut être faudrait il que je le déplace dans la partie VBA du forum?
Marsh Posté le 06-06-2012 à 11:44:06
C'est sûr que ton topic n'a pas grand chose à voir avec le SQL/BD...
Marsh Posté le 06-06-2012 à 14:18:26
je l'ai déplacé
Les pros du VBA sont donc bienvenus
Marsh Posté le 05-06-2012 à 20:42:15
Bonsoir à tous,
Alors heuu... je ne sais pas programmer , je vous remercie donc d'avance de l'aide que vous voudriez bien m'apporter
Mon problème :
Je travaille sur un planning Excel, qui a plutôt des allures de BDD (et je ne connais rien à Access ).
Chaque personne peut avoir des horaires et des postes différents, de ce fait une même personne peut avoir plusieurs lignes la concernant:
Exemple simplifié:
NOM PRENOM POSTE [8h-9h] [9h-10h] [10h-11h] [...]
DUPONT Bernard Manutention x x
ADROIT Nathalie Vente x x x
DUPONT Bernard Vente x x
Je souhaiterais envoyer à chaque personne son planning "personnel" mais de façon à ce que soient visible les doubles postes : ici Bernard travaille en manut de 8h à 10h puis en vente de 10h à .... .
Pour celà je souhaitais utiliser un publipostage (il y'a quasi 250 employés... ) .
Problème : le publipostage devait être "conditionnel" à cause des lignes en doublon pour les doubles postes.
J'ai donc solutionné le problème en scindant ma BDD et en utilisant un n° de matricule matricule (associé à UN employé mais à PLUSIEURS postes) comme lien entre les deux (cf la méthode de ce tuto par exemple : http://faqword.com/index.php/word- [...] aison.html )
Cependant je me retrouve face à un second soucis : je voudrais mettre en forme le planning sous une forme verticale et impossible d'insérer les requêtes dans mon tableau pour avoir les petites croix (et c'est très fastidieux).
Exemple du résultat que je veux:
Employé : DUPONT Bernard
vente manutention
8h-9h x
9h-10 x
10h-11h x
Auriez vous une idée? Je sèche complètement... je veux même tenter des langages inconnus si c'est bien expliqué
Merci
Message édité par tsouw le 06-06-2012 à 11:51:24
---------------
Bang bang, I hit the ground.