Copie de données dans plusieurs formulaires via une base de donnée

Grmble

XLDnaute Nouveau
Bonjour à tout le monde,

Premièrement, merci pour votre lecture !

J'aurais besoin de votre aide pour un travail sur plusieurs fichiers Excel. Je vais essayer d'être le plus précis possible.

Voilà : j'ai un fichier de base "Test annonces.xlsx" (ci-joint) qui contient à partir de la ligne 19 des inscriptions pour des cours à effectuer. D'un autre côté, j'ai 2 formulaires (les 2 identiques) "TEST FORM A" (et l'autre pas joint).

Ce que je n'arrive pas à faire...

Il faudrait, que si le nombre de jour dépasse 2 jours OU que le montant du cours soit supérieur à 1000 francs (dans le fichier annonce du cours) que les données du cours soient copiées dans le document formulaire "TEST FORM A". Si c'est pas le cas dans l'autre document "TEST FORM B".

Au niveau des données copiées, le nom et prénom du collaborateur doivent être copiés, le titre du cours, le numéro du cours, la durée ainsi la date du cours.

De plus, il faut que pour chaque ligne un fichier Excel (bien entendu le même que le fichier joint test form A) soit créé. Celui-ci devrait avoir comme nom cette base (nom et prénom du collaborateur) "NOM_PRENOM_NO DU COURS.XLSX"

Merci infiniment pour votre aide précieuse et excellente journée

Je suis dispo pour d'éventuelles questions :)
 

Pièces jointes

  • TEST FORM A.xlsx
    39.1 KB · Affichages: 93
  • Test annonces.xlsx
    98.9 KB · Affichages: 104
Dernière édition:

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

Désolé... j'aime pas les "UP". Mais vu que c'est pour le boulot (donc professionnel) et que le message passe en page 2, je pense qu'il sera oublié :S

Désolé si ce n'était pas le pas

Merci de votre compréhension
 

did85

XLDnaute Junior
Re : Copie de données dans plusieurs formulaires via une base de donnée

Bonsoir,
voila ce que j'ai fait.
Tout se trouve dans le module du classeur après appui sur le bouton créer.
Bonne soirée
Did85
 

Pièces jointes

  • Test annonces.xlsm
    114.5 KB · Affichages: 66
  • Test annonces.xlsm
    114.5 KB · Affichages: 73
  • Test annonces.xlsm
    114.5 KB · Affichages: 74

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

Hello,

Merci pour ton aide !

Edit : 1 des 2 problème résolu ^^

Maintenant... quand je lance la macro via le bouton j'ai une erreur de compilation (variable non définie) et le déboggeur met Derlig en jaune ... ('Nombre de ligne dans le fichier en fonction de la colonne A)

Merci... =S
 
Dernière édition:

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

Parfait :) pour l'instant tout fontionne !!! excellent !

Maintenant serait-il possible d'apporter quelques modifications ?

Premièrement, faire en sorte que les formulaires qui sont crées se ferment automatiquement ? (car j'aurais pas mal de lignes).
De plus, si le cours n'est ni supérieur à 1000.- ni supérieur à 2 jours, les données doivent ètre copiés dans un formulaire "TEST FORM B"

Voici les exemples :

Cours avec plus de 2 jours mais inférieur à 1000 = copie dans document "test form A"
Cours avec moins de 2 jours mais supérieur à 1000 = copie dans document "test form A"
Cours avec plus de 2 jours et supérieur à 1000 = copie dans document "test form A"
Cours avec moins de 2 jours et inférieur à 1000 = copie dans document "test form B" <= voici l'exception

Merci infiniment :)
 

did85

XLDnaute Junior
Re : Copie de données dans plusieurs formulaires via une base de donnée

Bonsoir,
voici les changements, n'ayant pas de test FORM B, j'ai dupliqué le TEST FORM A en le renommant. Par contre je te laisse remplir le formulaire.
Bonne soirée
Did85
 

Pièces jointes

  • Test annonces.xlsm
    115.5 KB · Affichages: 77
  • Test annonces.xlsm
    115.5 KB · Affichages: 76
  • Test annonces.xlsm
    115.5 KB · Affichages: 74

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

Ohh ! Merci !!!

De toute manière le forumlaire B est exactement pareil au formulaire A vis à vis de sa structure :)

Je te remercie infiniment pour tout ton travail !

Excellente journée à toi
 

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

Rofl... j'ai encore une question....

Pendant que les formulaires sont crées, les noms et prénoms des collaborateurs sont copiés, puis collés dans le formulaire. Maintenant, dans ce forumlaire, il reste à remplir l'année de naissance, fonction, numéro de téléphone etc...

Comment faire pour dire à la macro d'aller chercher dans le fichier "Liste personnel" les données... Donc par exemple dans mon fichier j'ai le nom de Monsieur "Cherix" qui est copié dans le formulaire. En plus, il faudrait que la macro ouvre le fichier "Liste personnel", cherche le nom de Monsieur Cherix, puis copie les données dans le formulaire avant de le fermer (fonction, numéro de natel etc...)

Je sais pas si tu vois ?

Merci et si tu as des questions... désolé je croyais avoir fini...



PS : si c'est plus facile de faire une nouvelle feuille dans le fichier "Test Annonces.xlsm" au lieu d'avoir un fichier xlsx de plus... ?
 

Pièces jointes

  • Liste personnel.xlsx
    16.9 KB · Affichages: 57
  • Liste personnel.xlsx
    16.9 KB · Affichages: 59
  • Liste personnel.xlsx
    16.9 KB · Affichages: 61
Dernière édition:

did85

XLDnaute Junior
Re : Copie de données dans plusieurs formulaires via une base de donnée

Bonjour,
voici le fichier modifier pour prendre en compte un 3ème classeur.

Il faut que le fichier Liste Personnel soit au même niveau que les autres classeurs.

Voici ce que le code fait :
- il ouvre le classeur Liste Personnel
- il stocke les informations dans une variable tableau pour éviter de l'ouvrir à chaque recherche de nom
- il ouvre le Form A ou B, inscrit les données, recherche le nom par rapport au tableau et inscrit les données du tableau.
A modifier avec tes données à toi
Bonne journée
Did85
 

Pièces jointes

  • Test annonces.xlsm
    118.6 KB · Affichages: 55
  • Test annonces.xlsm
    118.6 KB · Affichages: 45
  • Test annonces.xlsm
    118.6 KB · Affichages: 53

Grmble

XLDnaute Nouveau
Re : Copie de données dans plusieurs formulaires via une base de donnée

J'ai un problüme bizarre ^^

Je t'explique... si je mets un nouveau cours dans le document Test Annonces, la création du fichier fonctionne mais j'ai pas l'user form correspondance trouvée (alors que le nom et prénom du collaborateur sont notés).

PAR CONTRE si je prend la cellule du nom du collaborateur dans le fichier "Test annonces" et que je la copie et remplace l'ancienne (pourtant la même) dans le fichier "Liste personnel", la macro trouve le nom du collaborateur...

Je comprends pas pourquoi...
 

did85

XLDnaute Junior
Re : Copie de données dans plusieurs formulaires via une base de donnée

Bonsoir,
je fais la recherche de la dernière ligne de ton fichier "Test annonces" en fonction de la colonne A. Donc si tu n'as rien mis dans la colonne "cours/formation", je ne prends pas en compte la ligne pour la génération du fichier. Si parfois tu ne mets rien en colonne A. il faut changer la ligne :
DerLig = shActive.Range("A65536").End(xlUp).Row
Par :
DerLig = shActive.Range("I65536").End(xlUp).Row
C'est à dire que l'on va prendre en compte le nom qui se trouve en colonne I
Bonne soirée
Did85
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote