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 :

Macro faisant <=> de SQL select X,Y,Z FROM Feuille1


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut Macro faisant <=> de SQL select X,Y,Z FROM Feuille1
    Bjr,

    Je ne connais pas Excel et souhaite remplir la feuille2 de mon fichier Excel en faisant l'équivalent d'une commande SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT B,F,G FROM Feuille1 WHERE B=VALEUR_INTEGER
    Le but de cette commande est de remplir automatiquement ma feuille2.

    Je pense qu'il faut utiliser une macro mais laquelle ?
    Est-il possible de travailler directement avec une commande SQL qui lit ma feuille1 et renvoie le résultat sur la feuille 2.

    Par avance Merci.
    domikou

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur DVP.

    Dans cet article de Silkyroad (ici), tu trouveras quelques astuces pour faire du SQL dans Excel.

    De plus dans la partie contribution du forum Excel, tu trouveras des exemples de requêtes SQL faits par Cafeine.

    Starec

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour,

    Tu ne peux pas employer du SQL pour des feuilles source et cible dans le m^me classeur. Il faut des classeurs différents et que le classeur source reste fermé: tu peux alors utiliser l'assistant MS QUERY ou la technologie ADO (lien donné par starec).

    On peut résoudre ton problème par formules Excel pas forcément évidentes(j'ai répondu à un pb similaire dans la partie excel du forum mais je ne sais plus quand)
    edit:
    http://www.developpez.net/forums/sho...d.php?t=450036

    On peut le résoudre aussi par VBA...


    Mais tu nous dit que tu ne connais pas excel: tu auras donc un truc qu'il te faudra adapter à ton pb...

    Dans l'attente

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Michel_M Voir le message
    Bonjour,

    Tu ne peux pas employer du SQL pour des feuilles source et cible dans le m^me classeur. Il faut des classeurs différents et que le classeur source reste fermé: tu peux alors utiliser l'assistant MS QUERY ou la technologie ADO (lien donné par starec).
    Faux, je l'ai fait il y a 6 mois pour une appli, j'utilisais les méthodes de Silkyroad et le tout dans la même feuille, et cela fonctionnait parfaitement.
    Il faut seulement que le fichier soit bien structuré comme des tables Access.

    Starec

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut Copie sélective des lignes entre 2 feuilles Excel via Macro
    Bjr et Merci pour vos réponses.
    J'ai écrit une macro (Ma première macro). Elle fait le travail attendu.
    Je la livre pour information et autres débutants.
    Cordialement.
    domikou

    Attribute VB_Name = "Module1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Sub Macro1()
     
    ' Variables nom des feuilles à changer
    NomFeuilleSource = "Feuil1"
    NomFeuilleCible = "Feuil2"
    ' Variables
    NuméroColonneAEvaluer = 2
    ValeurATester = 10
     
    '''''''''''''''''''''''''''''''''''''''''''''''''
    'Macro 
    MsgBox "Macro: début de programme."
     
    'Sheets("NomDeLaFeuille").Select
    Sheets(NomFeuilleSource).Select
    MsgBox "La feuille source est : " & NomFeuilleSource & Chr$(13) & "La feuille cible est : " _
    & NomFeuilleCible & Chr$(13)
     
    'Initialisation des Variables
    iNombreLigneCopiees = 0
    NumCol = 1
    'Selection d 'une cellule
    Range("A1").Select
    'Parcour de toutes les lignes de la feuille source
    iLigne = 1
    Sheets(NomFeuilleSource).Select
    While Not Range("A" & iLigne & "").Value = ""
     
        ' Si la colonne a evaluer sur cette ligne remplie les conditions
        ' Alors on copie la ligne
        If (Sheets(NomFeuilleSource).Cells(iLigne, NuméroColonneAEvaluer) > ValeurATester) Then
            MsgBox "Une ligne est sélectionnée pour la copie"
            'Parcour de toutes les colonnes de cette ligne
            iColonne = 1
            While Sheets(NomFeuilleSource).Cells(iLigne, iColonne) <> ""
            Sheets(NomFeuilleCible).Cells(iNombreLigneCopiees + 1, iColonne) = Sheets(NomFeuilleSource).Cells(iLigne, iColonne)
            iColonne = iColonne + 1
            Wend
            ' Mise a jour de la quantite des lignes copiees
            iNombreLigneCopiees = iNombreLigneCopiees + 1
        End If
     
     
    iLigne = iLigne + 1
    Wend
     
    'Macro for dummies
    MsgBox "Macro: fin de programme."
     
    End Sub

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

Discussions similaires

  1. [WD-2003] Macro faisant changer la selection de page
    Par yannick113 dans le forum VBA Word
    Réponses: 4
    Dernier message: 16/12/2010, 09h09
  2. [SQL] select en JAVA
    Par webbulls dans le forum JDBC
    Réponses: 2
    Dernier message: 09/06/2005, 14h08
  3. [SQL] selection des dates en ne distinguant pas l'heure
    Par meufeu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2005, 11h29
  4. [SQL] select syntaxe
    Par Leila75 dans le forum Oracle
    Réponses: 3
    Dernier message: 10/05/2005, 11h05
  5. SQL :select et AND
    Par Shabata dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/05/2003, 13h39

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