Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 21/08/2008, 10h17   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: mai 2004
Messages: 36
Par défaut [GRAPHIQUES]Intégrer directement le résultat d'une requête

Bonjour,

Après des recherches plutôt infructueuses, je m'adresse à vous pour savoir si vous connaissez un moyen pas trop compliqué de lier directement le résultat d'une requête à un graphique?

Le but est de ne pas passer par un export puis une sélection de plage.

Merci à vous

Dernière modification par saysay ; 21/08/2008 à 10h43
saysay est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2008, 17h41   #2 (permalink)
Membre expérimenté
 
Avatar de Commodore
 
Date d'inscription: février 2004
Localisation: Lille
Âge: 25
Messages: 570
Envoyer un message via AIM à Commodore Envoyer un message via MSN à Commodore
Par défaut

salut,

as-tu essayé de faire, en VBA, un bout de code qui execute ta requete depuis excel ?

Par exemple, si c'est une base Access, faire la liaison :
Code :
    Dim bd As Database
    Dim rs As Recordset
    Dim Cible As Workbook
    
    Set bd = OpenDatabase("ma_db")
    Set rs = bd.OpenRecordset("Select * From table1")
        
    Application.ScreenUpdating = False
    
    'vider le fichier des anciennes données
    Cible.Worksheets("Feuil1").Cells.Clear
    
    'remplir avec les nouvelles données
    i = 2
    With Cible.Worksheets("Feuil1")
        Do While Not rs.EOF
            .Cells(i, 1) = rs.Fields(0)
            .Cells(i, 2) = rs.Fields(1)
            .Cells(i, 3) = rs.Fields(2)
            .Cells(i, 4) = rs.Fields(3)
            .Cells(i, 5) = rs.Fields(4)
            .Cells(i, 6) = rs.Fields(5)
            .Cells(i, 7) = rs.Fields(6)
            .Cells(i, 8) = rs.Fields(7) 'etc... suivant le nb de champs
            rs.MoveNext
            i = i + 1
        Loop
    End With
Puis de définir ton graphique sur la zone occupée par les données :

Code :
range("A1").currentregion
__________________
Commodore, aka Commodoudou

L'accordéon, c'est l'instrument politique par excellence. Quand vous poussez à droite, ça souffle à gauche et quand vous poussez à gauche, ça souffle à droite. Et à l'intérieur c'est du vent.

Adepte du smiley troll

Qui veut tâter de mon fléau ?
Commodore est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/08/2008, 08h23   #3 (permalink)
Futur Membre du Club
 
Date d'inscription: mai 2004
Messages: 36
Par défaut

Merci pour ta réponse.

En fait, pour être précis, mes données viennent d'un fichier csv.

Actuellement, je fais plus ou moins la même chose que tu m'as proposé:
requête sur ma "base", export de ces données dans une feuille et la plage de mon graphique pointe sur cette feuille

Je voulais m'affranchir de passer par une plage de données (je peux avoir pas mal de données et je ne voulais pas trop charger le classeur) mais il semblerait que ce soit impossible.

Bref, à moins que quelqu'un ait une solution miracle, je sens que je vais devoir rester comme ça.

En tt cas, merci pour ton aide
saysay est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/08/2008, 09h28   #4 (permalink)
Membre expérimenté
 
Avatar de Commodore
 
Date d'inscription: février 2004
Localisation: Lille
Âge: 25
Messages: 570
Envoyer un message via AIM à Commodore Envoyer un message via MSN à Commodore
Par défaut

j'ai du mal a saisir ce que tu veux dire par "t'affranchir d'une plage de données pour ton graphe"...

tu voudrais que ton graphe aille chercher les données ailleurs que dans excel ?
__________________
Commodore, aka Commodoudou

L'accordéon, c'est l'instrument politique par excellence. Quand vous poussez à droite, ça souffle à gauche et quand vous poussez à gauche, ça souffle à droite. Et à l'intérieur c'est du vent.

Adepte du smiley troll

Qui veut tâter de mon fléau ?
Commodore est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/08/2008, 09h43   #5 (permalink)
Futur Membre du Club
 
Date d'inscription: mai 2004
Messages: 36
Par défaut

Oui, c'est à peu près ça.

Découvrant les fonctionnalités avancées d'excel depuis peu (3 jours...), je me disais que ça pouvait être assez pratique de mettre directement la requête dans le graphique.

Pour tout te dire, ça m'aurait évité de déclarer des listes pour gérer l'astuce des plages dynamiques (cf. Le superbe tutorial pour les plages dynamiques pour les graphiques)

Vu que je risque d'avoir pas mal de graphiques, je vais accumuler beaucoup de listes...

Mais bon, a priori, je n'ai pas l'air d'avoir le choix
saysay est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide