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

Excel Discussion :

Listes liées depuis base de donnée déportée


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut Listes liées depuis base de donnée déportée
    Bonjour,

    Voila mon problème :
    Je cherche à réaliser deux listes déroulantes liées à une base de données déportée sur un espace SharePoint.
    La basse de donnée contient une liste de matériels de différentes marques, et de différents modèles avec toutes leurs propriétés. La première liste déroulante contient les marques, la deuxième contient les modèles associés à la marque choisie.
    Pour l’instant cette solution fonctionne en utilisant des Nom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ListeMarquesPV	:	=DECALER('Base Panneaux'!$A$6;0;0;NBVAL('Base Panneaux'!$A:$A)-1)
    ListeRefMarque	:	=DECALER('Base Panneaux'!$A$6;0;0;NBVAL('Base Panneaux'!$A:$A)-1;2)
    debutPV		:	=EQUIV(_MarquePV;ListeMarquesPV;0)-1
    finPV		:	'=MAX((ListeMarquesPV=_MarquePV)*LIGNE(ListeMarquesPV))-debutPV
    RefPV		:	=DECALER(DECALER('Base Panneaux'!$A$6;0;0;NBVAL('Base Panneaux'!$A:$A)-1);EQUIV(_MarquePV;ListeMarquesPV;0)-1;1;finPV-LIGNE(DECALER('Base Panneaux'!$A$6;0;0;NBVAL('Base Panneaux'!$A:$A)-1))+1;1)
    La première liste déroulante pointe vers ListeMarquesPV (via Données->Validations) et la deuxième vers RefPV.
    Tel quel, ça fonctionne bien sauf si je supprime la ligne 6 de ma feuille "Base Panneaux" (ce qui est un problème mais pas très grave).
    En revanche, si je veux déporter ma liste sur SharePoint, je vais me retrouver à la place de "Base Panneaux", avec " 'http//www.Sitesharepoint/.../..../..../[Nomdufichier.xls]Base Panneaux' et là, ça coince car j'utilise trop de caractère pour définir un nom.

    Alors, quelles solutions vous semblent efficace pour palier ce problème?
    Merci par avance de votre aide

    Pierre

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    remplace la définition du nom par une fonction personnalisée VB qui te renverra l'adresse ça devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function MaTable() as string
    MaTable="http://....."
    End Function

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut
    Benjîle, merci pour ta réponse!

    Tu veux dire que je peux créer une fonction dans un module et ensuite dans la définition de mes nom, au lieu de mettre "Base Panneaux" je mets MaTable() ??

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    je ne te garantis pas le résultat parce que je ne l'ai testé mais ça devrait suffir.
    tu taperas =MaTable() dans le cadre "référence à" de la boîte de dialogue "définir un nom"

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut
    Bonjour,

    L'utilisation d'une fonction est une très bonne idée, elle va me servir pour d'autres choses! Cependant il me reste un petit problème :

    j'ai besoin de retrouver cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =DECALER('Base Panneaux'!$A$6;0;1;NBVAL('Base Panneaux'!$A:$A)-1;1)
    Le 'Base Panneaux' sera par la suite mon adresse vers le Sharepoint

    alors je me suis fait une petite fonction CheckBase qui reçoit un paramètre en entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function CheckBase(plage As String) As String
           CheckBase = "'Base Onduleurs'" & plage
    End Function
    Le but est de pouvoir écrire mon Nom de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =DECALER(CheckBase("!$A$6");0;1;NBVAL(CheckBase("!$A:$A"))-1;1)
    Mon problème est que la fonction Checkbase me renvoi alors "'Base Panneaux'!$A$6" (avec les guillemets), et n'est pas reconnu dans la fonction Decaler...

    Comment je pourrais les enlever??
    Merci bien
    Bonne journée.

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    pour résoudre directement ton problème fais un indirect(checkbase()). Indirect renvoie une plage à partir du texte.

Discussions similaires

  1. erreur récupération des données depuis base de données dans une liste
    Par amintoraa dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 25/04/2014, 23h41
  2. Ajax - Listes liées SANS base de données
    Par imip549 dans le forum jQuery
    Réponses: 2
    Dernier message: 24/10/2011, 15h10
  3. [AJAX] Listes liées et base de données
    Par dominos dans le forum AJAX
    Réponses: 2
    Dernier message: 01/03/2011, 17h51
  4. Liste déroulante liée à une base de donnée
    Par GruZloR dans le forum Excel
    Réponses: 4
    Dernier message: 05/01/2008, 16h55

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