IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Liaison entre un classeur et plusieurs feuilles extérieures [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    Bonjour à tous !

    Si je fais appel à la communauté de développez.net aujourd'hui, c'est car j'ai un besoin sur Excel 2007 auquel je n'arrive pas à répondre ...

    Je vous explique :

    J'ai deux classeurs distincts à lier.

    - Le premier classeur est mis à jour régulièrement avec l'ajout d'une ligne à chaque fois qu'une vente est réalisée.
    Sur chaque ligne apparaissent notamment les informations suivantes (je vous liste les informations qui seront nécessaires) : gamme du matériel vendu ; vendeur qui a réalisé la vente.

    - Sur le deuxième classeur, chaque feuille est affectée à un vendeur (qui sont au nombre de 5) sur lesquelles des objectifs de ventes par gamme en unités sont renseignées : une colonne qui liste toute les gammes ; une colonne qui indique les objectifs à atteindre.

    J'ai besoin de faire en sorte que dès que sur le classeur 1 une ligne est ajoutée, cela soit mis à jour sur la feuille du vendeur en question sur le classeur 2 sur deux nouvelles colonnes qui permettent de connaître par gamme le nombre de produits vendus et le nombre de produits qu'il reste à vendre pour atteindre l'objectif.

    Dans l'idéal, le classeur 2 regroupe 5 feuilles pour chaque vendeur mais il n'est pas écarté que chaque vendeur ait un classeur attribué.

    Je ne sais pas si cela est très clair puisque je suis conscient que cela n'est pas évident à effectuer mais si quelqu'un connaîtrait la démarche à suivre pour pouvoir répondre à ma demande, je lui serais très reconnaissant.

    Bonne journée à tous !

    Edouard

    Voici les deux classeurs en question ;

    - Le premier pour lequel les colonnes "vendeurs" et "Famille pour objectifs vendeurs" sont importantes. Pièce jointe 201545


    - Le deuxième dont chaque feuille fait référence à un vendeur. Pièce jointe 201546

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    Le deuxième dont chaque feuille fait référence à un vendeur.
    Dans ce classeur, tu sélectionnes tes 5 feuilles et en colonne AI tu mets cette formule avec le classeur 1 ouvert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(('[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$B:$B=$C$7)*('[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$H:$H=B10))
    Ensuite ton classeur fonctionnera même si la facturation est fermée.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    Bonjour,

    Merci pour votre réponse, cela semble correspondre à mes attentes mais il y a une erreur de référence.

    Voici le code d'erreur qui s'affiche : Pièce jointe 201607

    (Y. Cartié étant le vendeur "1" dans les documents anonymes et la formule étant tapée dans AI10)

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    Bien entendu ta référence est mal saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$B:$B
    et donc tu as #REF! à la place : il faut saisir correctement la liaison.
    Tu ouvres tes 2 classeurs et tu sélectionnes les colonnes "vendeurs" et "Famille pour objectifs vendeurs".

    D'autre part il faut que les saisies des 2 colonnes soient identiques dans ton autre classeur, ce qui n'était pas le cas dans ton exemple.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    En ce qui concerne la liaison, j'ai mis le nom du document sur lequel je travaille non anonyme, j'ai juste remplacé de "ANONYME" par le vrai nom du document et j'ai indiqué le chemin d'accès lorsque la fenêtre s'ouvre quand je copie colle ou rentre la formule.

    J'ai ensuite fait coordonner les champs qui sont présents sur les deux classeurs mais cela ne fonctionne toujours pas ...

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,

    Tu fais bien comme tu veux, mais cela ne fonctionne pas.

    Dans ce cas, à ta place j'essaierais d'utiliser la méthode que je t'ai proposée qui fonctionne parfaitement chez moi,
    mais ce n'est qu'une suggestion .....

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    Justement depuis hier j'essaie d'utiliser votre méthode comme vous l'avez dite mais en vain ... j'ai juste modifié le nom du document source mais il y a toujours ce problème de référence

  8. #8
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    - Tu ouvres tes 2 classeurs
    - Tu copies la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(('[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$B:$B=$C$7)*('[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$H:$H=B10))
    - tu te positionnes en AI10 et tu fait ctrl+v sans valider
    - tu sélectionnes "'[2016 FACTURATION - COMMANDES ANONYME.xls]FACTURATION'!$B:$B"
    - tu vas dans l'autre classeur et tu sélectionnes la colonne B "vendeurs"
    - mais cela va te ramener $A:$M (du fait de tes fusions) que tu remplaces par $B:$B
    - idem pour la colonne H "Famille pour objectifs vendeurs"
    - tu recopies ta formule sur toutes les lignes concernées.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    Quelqu'un a résolu mon problème sur un autre forum :

    Salut,

    Essaie de placer cette formule en AI10, de la transformer en formule matricielle par les touches de validation Ctrl+Majuscule+Enter puis de l’incrémenter vers le bas.

    Code: Tout sélectionner
    =SOMMEPROD(('[2016 FACTURATION - COMMANDES M3 SUD OUEST.xls]FACTURATION'!$B$4:$B$1000=$C$7)*('[2016 FACTURATION - COMMANDES M3 SUD OUEST.xls]FACTURATION'!$H$4:$H$1000=B10))


    A la place d’inscrire 1000 dans la formule ci-dessus pour couvrir 1000 lignes, tu pourrais travailler avec des plages nommées dynamiques. Tu sais le faire ?

    Cordialement.

  10. #10
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    Essaie de placer cette formule en AI10, de la transformer en formule matricielle par les touches de validation Ctrl+Majuscule+Enter
    L'on n'arrête pas le progrès par des idioties : à quoi sert de valider en matricielle une fonction SOMMEPROD qui est matricielle par essence ?

    et en plus tu dis que c'est ainsi que l'on résous le problème...

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Liaison entre un classeur source et plusieurs classeurs destination
    Par cyberbab dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/02/2012, 12h51
  2. Liaison entre 2 classeurs
    Par Sylcoco dans le forum Excel
    Réponses: 3
    Dernier message: 26/03/2010, 20h52
  3. Réponses: 5
    Dernier message: 23/04/2009, 21h57
  4. Liaisons entre deux classeurs
    Par Daranc dans le forum Excel
    Réponses: 2
    Dernier message: 09/01/2008, 07h33
  5. Ouverture dans le meme classeur avec plusieurs feuilles
    Par Marie69 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/10/2007, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo