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 :

Faire une requete sur classeur fermé


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Secrétaire
    Inscrit en
    Avril 2020
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Secrétaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 45
    Points : 39
    Points
    39
    Par défaut Faire une requete sur classeur fermé
    Bonjour,

    Cela doit être possible mais comment écrire cette requête si je n'ouvre pas le classeur ou je prend les informations ?
    Dans le classeur ou je vais écrire les informations je prend un numéro que je cherche dans le classeur source pour avoir le numéro de ligne, puis je prend les valeurs des cellules de cette ligne.

    La macro que j'ai fait fonctionne bien mais cela m'oblige à ouvrir le fichier source.

    Merci pour votre aide

    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
     
    Dim nmrLT(1 To 1000)
    Dim nmrlgn(1 To 1000)
     
    Sub Majtab()
     
    Application.ScreenUpdating = False
    prelgn = Columns("B:B").Find("ATTENTE", LookIn:=xlFormulas, LookAt:=xlWhole, MatchCase:=False).Row
    derlgn = Range("B" & Rows.Count).End(xlUp).Row
    a = 0
    For x = prelgn To derlgn
        If Cells(x, 2).Value = "attente" Then
            a = a + 1
            nmrLT(a) = Cells(x, 1).Value2
            nmrlgn(a) = Cells(x, 1).Row
        End If
    Next x
     
    For b = 1 To a
    nmrlgnE = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Columns("E:E").Find(nmrLT(b), LookIn:=xlFormulas, LookAt:=xlWhole, MatchCase:=False).Row
    Cells(nmrlgn(b), 5).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 14).Value2
    Cells(nmrlgn(b), 6).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 13).Value2
    Cells(nmrlgn(b), 11).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 19).Value2
    Cells(nmrlgn(b), 27).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 12).Value2
    Cells(nmrlgn(b), 31).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 11).Value2
    Cells(nmrlgn(b), 35).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 7).Value2
    Cells(nmrlgn(b), 36).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 8).Value2
    Cells(nmrlgn(b), 42).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 19).Value2
    Cells(nmrlgn(b), 43).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 20).Value2
    Cells(nmrlgn(b), 44).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 22).Value2
    Cells(nmrlgn(b), 46).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 3).Value2
    Cells(nmrlgn(b), 47).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 2).Value2
    Cells(nmrlgn(b), 49).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 9).Value2
    If Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 47).Value2 > 0 And Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 43).Value2 = "VALIDE" Then
        Cells(nmrlgn(b), 64).Value2 = Workbooks("copie Bilan.xlsm").Sheets("Etat_B").Cells(nmrlgnE, 47).Value2
    End If
    Next b
    End Sub

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 586
    Points : 1 081
    Points
    1 081
    Par défaut
    Bonjour,

    Regardes de ce coté : https://silkyroad.developpez.com/VBA/ClasseursFermes/

    ONTAYG

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Secrétaire
    Inscrit en
    Avril 2020
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Secrétaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 45
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Merci pour le lien
    Je pensais que cela serait plus simple, en écrivant tout le chemin de mon fichier à la place de Workbooks.
    Mais bon je ne vais pas utiliser ADODB.Connection (dont je ne comprend pas grand chose et dont les exemples du tuto sont sur des range fixe)

    C'est pas grave j'ouvrirai le fichier

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 432
    Points : 2 191
    Points
    2 191
    Par défaut
    Bonjour,
    Pourrais tu fournir un petit classeur avec quelques échantillons annoymisé et accessoirement une image du résultat attendu ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 188
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 188
    Points : 1 747
    Points
    1 747
    Par défaut
    Salut,

    Quitte a faire une requête sur un classeur, autant passer par Power Query.
    C'est plus simple, plus efficace, et moins source d'erreur.

  6. #6
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 432
    Points : 2 191
    Points
    2 191
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Salut,

    Quitte a faire une requête sur un classeur, autant passer par Power Query.
    C'est plus simple, plus efficace, et moins source d'erreur.
    Bonjour,

    effectivement mais c'est le titre de la question, et je n'es pas accès à power query!

    pour moi qui utilise power BI c'est tout aussi simple d'utiliser sql que power BI

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 188
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 188
    Points : 1 747
    Points
    1 747
    Par défaut
    Pour info, power query est téléchargeable pour office 2010 / 2013: https://www.microsoft.com/fr-fr/down....aspx?id=39379

    Depuis 2016, il est intégré à Excel.

  8. #8
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 432
    Points : 2 191
    Points
    2 191
    Par défaut
    Bonjour,
    Pour info, power query est téléchargeable pour office 2010 / 2013:
    Merci pour la confirmation mais je savais pourquoi que je n'avai pas accès à power query.

Discussions similaires

  1. faire une requête sur une table d'un autre schéma
    Par kineton dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 10/04/2008, 15h08
  2. [BDE] Comment faire une requête sur 2 Ttables ?
    Par dim07 dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/12/2006, 12h15
  3. faire une requête sur plusieurs tables
    Par julien.63 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/08/2006, 22h58
  4. [vb6]faire une requete sur plusieurs tables
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/07/2006, 02h06
  5. Réponses: 2
    Dernier message: 07/07/2005, 08h31

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