Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Importer les données provenant d'une autre feuille

  • Initiateur de la discussion Initiateur de la discussion Domdom49
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Domdom49

Guest
Bonjour à tous,

Ci-joint 2 fichiers.

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.

Merci pour votre aide.
Domdom49
 

Pièces jointes

Re : Importer les données provenant d'une autre feuille

Bonjour Yaloo, et merci pour ton aide.

Je viens de tester, lorsque je clique sur le bouton "Importer", j'ai le message d'erreur suivant :

Erreur d’exécution "91":
Variable objet ou variable de bloc With non définie.

Cela correspond à la ligne
Chemin = TWk.Path & "\": Fichier = "Prod_tache_1"

Les 2 fichiers sont dans le même répertoire.

Tu as une idée ?

Domdom49
 
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 😀.

A+

Martial
 

Pièces jointes

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.

Que se passe-t-il ?

Encore merci
Domdom49
 
Re : Importer les données provenant d'une autre feuille

Bonsoir Domdom,

As-tu mis le fichier dans le même répertoire que le fichier Prod_tache_1 ?

Je viens de re-tester chez moi, ça fonctionne correctement.

Essaies de faire du pas à pas, ou de me dire où se situe l'erreur ?

A+
 
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.

Bizarre bizarre...

Domdom49
 
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.

A+
 
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.

Je te joints le fichier ci-dessous.
 

Pièces jointes

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.

A+

Martial
 

Pièces jointes

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.

Merci,
Domdom49
 
Dernière modification par un modérateur:
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 😕
 

Pièces jointes

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.

Encore un grand merci.
Domdom49
 

Pièces jointes

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 ?

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
4
Affichages
975
mimich_88
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…