Dans le 1er (Prod_2014) onglet Feuil1, on retrouve la productivité des gens de la semaine 1 à la semaine 3, réparti en 2 taches.
Dans l'onglet "Importation", le système qui permet d'importer les productivité des gens pour la tache 1, en semaine choisie dans la liste déroulante.
Dans le second fichier, rien de très compliqué, le nom et matricule des gens, avec leur productivité.
Je souhaiterai qu'en cliquant sur le bouton "importer" du 1er fichier, il y ait d'abord une vérification pour voir si tous les matricules du fichier "Prod_tache_1" colonne F sont présents dans l'onglet Feuil1 de "Prod_2014".
-> S'il manque des matricules, afficher un message d'alerte du genre "Matricule(s) 1111 et 3333 non présent(s) . Veuillez les enregistrer svp" comme dans mon exemple. Et donc pas d'importation.
-> Si tous les matricules sont présents, le système peut importer les données pour la semaine choisie dans la liste déroulante.
Re : Importer les données provenant d'une autre feuille
Bonjour Domdom,
Je suis désolé, en remettant un peu d'ordre dans mon code, j'ai interverti 2 lignes et n'ai pas testé après.
Avec le fichier ci-dessous, ça fonctionne .
Re : Importer les données provenant d'une autre feuille
Bonsoir Yaloo,
A nouveau merci pour le temps passé à m'aider sur le sujet.
Je viens de tester. Lorsque les matricules ne sont pas présents, j'ai bien le message d'alerte m'informant des matricules manquants.
En revanche, une fois que je les ai saisi, je clique sur "importer", et là, j'ai le message d'erreur suivant : erreur d'éxécution 9 : l'indice n'appartient pas à la sélection.
Re : Importer les données provenant d'une autre feuille
Bonjour Yaloo,
Effectivement les 2 fichiers se trouvent bien dans le même répertoire.
Voici la ligne qui semble poser problème :
Code:
Workbooks(Fichier).Close False
Lorsque je clique sur "Importer", le fichier Prod_tache_1 s'ouvre dans la barre des tâches, et directement la fenêtre d'erreur dont je t'ai parlé dans mon précédent message apparaît.
Re : Importer les données provenant d'une autre feuille
Bonjour Domdom,
Pour faire le test, mets un ' devant cette ligne, mais je ne vois pas trop pourquoi ça plante, c'est juste la fermeture du fichier que l'on a ouvert avant.
Re : Importer les données provenant d'une autre feuille
Yaloo,
En passant la ligne en commentaire, plus de message d'erreur.
Par contre, je viens de remarquer que rien n'est importer sur Feuil1 du fichier Prod_2014 comme cela devrait être le cas.
C'est dans le fichier Prod_tache_1 qu'à lieu l'importation, à partir de H8.
Re : Importer les données provenant d'une autre feuille
Re,
Fais un essai avec le fichier ci-dessous, je l'ai un peu remanié et mis la fermeture du fichier à la fin, donc si ça plante, l'importation aura déjà été faite.
J'en ai profité pour remplacer la formule par le calcul créé directement dans le code, cela évite les #DIV/0! et le temps de calcul si tu as beaucoup de lignes.
Re : Importer les données provenant d'une autre feuille
Ok,
En cliquant sur "importer" pour la semaine 3, il me demande de saisir les matricules
18,75
16,41666667
2,883333333
15,23333333
18,95
14,81666667
13,45
15,2
13,83333333
6,5
13,8
16,95
12,25
13,05
...ce qui correspond au contenu de la colonne F, heures passées sur la tache 1.
Et j'ai aussi le message d'erreur, toujours pour la même ligne.
Re : Importer les données provenant d'une autre feuille
Re,
Ben, chez moi, ça fonctionne bien, enfin je pense que c'est ta demande :
- Recherche des Matricules de la feuille Prod_tache_1 (colonne F) dans la feuille1 (colonne C)
- Message si tous les matricules ne sont pas trouvés, puis on sort.
- Lorsque tous les matricules de Prod_tache_1 sont bien trouvés dans la feuille1 de Prod_2014, on copie les données dans les colonnes correspondant à la semaine indiquée dans la feuille "Importation" de Prod_2014.
- Si l'on a ouvert le fichier Prod_2014, on le ferme.
Je t'ai mis des commentaires dans la macro, en expliquant ce que font les lignes suivantes, essaies de faire du pas à pas avec F8 quand tu es sur la macro, pour voir si la ligne correspond à la réalisation dans les fichiers et les feuilles.
A te relire
Martial
PS : Dans la version 2007, il n'y a pas tous les paramètres de la fonction Close, peut-être faut-il enlever le False juste après .Close
Re : Importer les données provenant d'une autre feuille
Yaloo,
Excellente idée pour les commentaires, cela m'aide vraiment pour suivre.
Je viens de tester et voici mes remarques et étapes les unes derrières les autres :
Les 2 fichiers sont fermés, et se trouvent dans le même répertoire.
- J'ouvre Prod_2014 (matricules 1111 et 3333 déjà saisis, sans aucune importation)
- Je clique sur "Importer" pour la semaine 1, et un message d'erreur apparait 'Erreur d'éxécution '1004': Erreur définie par l'application ou par l'objet. Cela qui correspond à la ligne
Code:
Application.Goto Cells(1, c - 8), -1
.
- Le fichier Prod_tache_1 est apparu dans la barre des tâches
- L'importation a quand même eu lieu pour la semaine 1
- Je clique à nouveau sur "Importer" pour la semaine 2, et nouveau message d'erreur Erreur d'éxécution '9': L'indice n'appartient pas à la sélection. Cela correspond à la ligne
Code:
Workbooks(Fichier).Activate
.
- Là aussi, l'importation a bien eu lieu.
- Idem que les 2 derniers points pour la semaine 3 : Erreur '9', mais importation réussie.
On avance donc puisque les importations sont bien réalisées, mais pourquoi avons-nous ces erreurs ?
Je te joins à nouveau les 2 fichiers pour que nous partions du même point de départ, avec les fichiers identiques.
Re : Importer les données provenant d'une autre feuille
Re,
Vois avec le fichier ci-joint, pour le positionnement à la colonne c - 8, l'erreur était normale pour la semaine 1 car c = 6 -8 donnait un Nb négatif, et comme il n'y a pas de colonnes négatives, ça plantait. J'ai mis une condition, ça devrait fonctionner.
Pour l'erreur sur la fermeture, peut-être en ajoutant l'extension ? Pas sûr du tout
Si ça ne fonctionne pas, si le classeur Prod_tache_1 reste ouvert après, est-ce que ça te gêne ?