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 :

requête excel VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Par défaut requête excel VBA
    Bonjour,

    J'ai un fichier excel de deux colonnes comme décrit ci dessous:
    Date Designation
    1/10/2000 Vrai
    2/03/1999 Vrai
    4/05/2006 Faux
    ... ...

    j'ai crée un formulaire (User form) où j'ai mis deux textbox pour entrer la date de debut et de fin et un bouton où je voudrais calculer le nombre de fois où j'ai la désignation vrai ou faux à partir de mon fichier excel.

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Montre-nous ce que tu as commencé à faire et on t'aidera pour les points où tu butes.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Par défaut
    je suis debutante en VBA et je voudrais savoir et ce qu'on peut faire des requetes sql pour calculer le nombre de fois où on le mot vrai ou faux comme par ex :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(vrai) from designation where textbox1.value=date.value and textbox2.value=date.value

    sachant que designation est une colonne et date est une colonne qui se trouvent sur le même feuille excel

    merci

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    Bonjour a toi siham_06


    Je pense que tu ne procede pas de la bonne facon si j'ai bien compri ton probleme

    Les requete SQL peuvent se s'executer sans probleme au milieu de code VB je te donne un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        Dim vic_pourcentage As Integer       
        Dim rst As DAO.Recordset
        Dim sql As String
     
        'pourcentage de vic a selectionner
        sql = "Select pourcentage From parametrage Where secteur = 'VIC'"
        Set rst = CurrentDb.OpenRecordset(sql, dbOpenForwardOnly, dbReadOnly)
        vic_pourcentage = rst(0)
    grace a ce code j'accede a la table Parametrage et je stoque dans une variable le pourcentage qui est associer a la ville de Vic

    mais si tu veux utilisé une requette Sql, il te faut une base de donnée alors que toi il me s'emble que tes données sont dans la feuille de calcul de Excel

    Peut tu expliquer plus précisément se que tu cherche a faire avec un exemple concré des donnée que tu as dans ta feuille excel??

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par AlainTech Voir le message
    Bonjour,

    Montre-nous ce que tu as commencé à faire et on t'aidera pour les points où tu butes.
    Bonjour,

    On n'a aucune idée des noms de tes boutons, ni du fichier à analyser.
    Les boutons sont-ils sur une feuille ou un Userform?
    Le fichier à traiter est-il celui où se trouvent les boutons?
    Si non, le fichier est-il ouvert ou fermé?

    Bref, si tu ne nous aides pas, on ne pourra pas t'aider.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Par défaut
    mes boutons sont sur un userform.
    j'ai essayé de faire ça mais ça marche ps
    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
    Private Sub CommandButton1_Click()
    Dim i, nb_Vrai, nb_Faux, j, debut, fin As Integer
     
    nb_Vrai = 0
    nb_Faux = 0
     
     i = 1
    Do While Cells(i, 1).Value < TextBox1.Value
     
    i = i + 1
    Loop
    debut = i
    j = i
     
    Do While Cells(j, 1).Value < TextBox2.Value
     
    j = j + 1
    Loop
    fin = j - 1
     
    For i = debut To fin
     
            If Cells(i, 4).Value = "Vrai" Then
                nb_Vrai = nb_Vrai + 1                            'Incrémente si la cellule contient 'Vrai'
            End If
            If Cells(i, 4).Value = "Faux" Then
                nb_Faux = nb_Faux + 1                            'Incrémente si la cellule contient 'Faux'
            End If
     
        Next i                                               'Passe à la ligne suivante
     
    'MsgBox "Nombre de vrai : " & nb_Vrai & " et nombre de faux : " & nb_Faux
     
    End Sub

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par AlainTech Voir le message
    Le fichier à traiter est-il celui où se trouvent les boutons?
    Si non, le fichier est-il ouvert ou fermé?
    Pourquoi faut-il poser plusieurs fois les questions avant d'obtenir une description correcte du problème?

    Enfin, au vu de ton code, je suppose que ta macro est dans le fichier à traiter.

    Alors, pour répondre à ta question, oui c'est possible avec une requête SQL.

    Voici un début de piste:
    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
    Sub test()
      ' Il faut préalablement activer la référence Microsoft ActiveX Data Objects 2.x Library
      Dim cn As New ADODB.Connection
      Dim rs As ADODB.Recordset
      Dim strSql As String
      With cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & ThisWorkbook.FullName & _
            ";Extended Properties=""Excel 8.0;HDR=YES;"""
        .Open
      End With
      Set rs = New ADODB.Recordset
      strSql = "SELECT * FROM [Feuil1$]"
      rs.Open strSql, cn, adOpenKeyset
     
     
      rs.Close
      cn.Close
      Set rs = Nothing
      Set cn = Nothing
     
    End Sub
    A toi, maintenant, d'adapter à tes besoins.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [XL-2010] Excel et Access : Requêtes en VBA
    Par Pou007a dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/07/2014, 13h27
  2. [XL-2002] Requète SQL dynamique en Excel VBA.
    Par cotmar dans le forum Excel
    Réponses: 2
    Dernier message: 23/12/2009, 19h11
  3. EXcel VBA analyse de sharpe
    Par vanima dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/02/2005, 13h07
  4. [Excel - VBA] Problème de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2005, 17h27
  5. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39

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