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 :

Rechercher une valeur dans un fichier dont les noms sont dans les cellules de la colonne A


Sujet :

Excel

  1. #21
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Si tu publiais le code qui FONCTIONNE ? (puisque le dernier plante ?)

  2. #22
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    La boucle que j'ai
    écrite ne fonctionne pas correctement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'Boucle de recherche HT
        i = 0
        Do
         'Incrémente le compteur.
            i = i + 1
            If Cells(i, 6) = "HT" Then
            'Adresse de la cellule contenant la donnée à récupérer suit à recherche
            Cellule = "F" & [i].Value
        Exit Do
        End If
        Loop
    qui viens modifié le code initial
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cellule = "F29:F29"
    voici le code itégral :

    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
     
    Sub test2()
     
        Dim Source As ADODB.Connection
        Dim Rst As ADODB.Recordset
        Dim ADOCommand As ADODB.Command
        Dim Fichier As String, Cellule As String, Feuille As String
        'Boucle de recherche HT
        i = 0
        Do
         'Incrémente le compteur.
            i = i + 1
            If Cells(i, 6) = "HT" Then
            'Adresse de la cellule contenant la donnée à récupérer suit à recherche
            Cellule = "F" & [i].Value
        Exit Do
        End If
        Loop
     
        'Adresse de la cellule contenant la donnée à récupérer
        'Cellule = "F29:F29"
        'Pour une plage de cellules, utilisez:
        'Cellule = "A4:C10"
        Feuille = "Devis-Client$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
        'Chemin complet du classeur fermé
        Fichier = [A1].Value & [A2].Value
        Set Source = New ADODB.Connection
        Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
        Set ADOCommand = New ADODB.Command
        With ADOCommand
        .ActiveConnection = Source
        .CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
        End With
        Set Rst = New ADODB.Recordset
        Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
        Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
        Range("C2").CopyFromRecordset Rst
        Rst.Close
        Source.Close
        Set Source = Nothing
        Set Rst = Nothing
        Set ADOCommand = Nothing
     
    'ligne = 2
    'Cells(ligne, 2) = "=RECHERCHEV("H.T";'" & [A1].Value & [A2].Value & "'!HT;3)"
    End Sub
    Pouvez vous m'aider à éliminer les erreur!

  3. #23
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Modifie déjà ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cellule = Range("F" & [i]).Value

  4. #24
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    J'ai essayé de comprendre ce que faisait le code pour insèrer ma boucle au bonne emplacement et pour controler la bonne valeur

    Mais je ne sis visiblement pas doué

    Ca ne fait pas ce que je veux
    A un moment j'ai quasi reproduit la feuille dont je cherche pourtant qu'un valeur

    j'ai donc déplacé la boucle en essayant de controlé la valeur de "Rst"
    j'ai une erreur me disant

    "type incompatible"

    est il si difficile de chercher la valeur sur la colonne d'a coté du mot "H.T"

    Ou sais moi qui est vraiment nul!!!!!!
    je vraiment envie d'être violent avec ce PC de merde!

    Si quelqu'un pouvais m'aider ce serai sympa et cela sauverai le vie d'un PC en plus!

    voici le code:
    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
    51
    52
    53
    54
     
    Sub test2()
     
        Dim Source As ADODB.Connection
        Dim Rst As ADODB.Recordset
        Dim ADOCommand As ADODB.Command
        Dim Fichier As String, Cellule As String, Feuille As String
        Dim i As Integer
        Dim trouve As Integer
     
     
     
     
        'Adresse de la cellule contenant la donnée à récupérer
        'Cellule = "F29:F29"
        'Pour une plage de cellules, utilisez:
        'Cellule = "A4:C10"
        Feuille = "Devis-Client$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
        'Chemin complet du classeur fermé
        Fichier = [A1].Value & [A2].Value
        Set Source = New ADODB.Connection
        Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
        Set ADOCommand = New ADODB.Command
        With ADOCommand
        .ActiveConnection = Source
         .CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
        End With
        Set Rst = New ADODB.Recordset
        Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
        i = 0
        Do
        Do While i < 3000
         i = i + 1
            Cellule = "F" & i
        Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
        If Rst = "H.T" Then
        trouve = True
         Exit Do
        End If
        Loop
        'Quitte la boucle si la variable à la valeur True.
    Loop Until trouve = True Or i = 3000
     
        Range("C2").CopyFromRecordset Rst
        Rst.Close
        Source.Close
        Set Source = Nothing
        Set Rst = Nothing
        Set ADOCommand = Nothing
     
    'ligne = 2
    'Cells(ligne, 2) = "=RECHERCHEV("H.T";'" & [A1].Value & [A2].Value & "'!HT;3)"
    End Sub

  5. #25
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Si tu lisais les réponses qu'on te fait...

    Au risque de me répéter, remplace :

    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cellule = Range("F" & [i]).Value
    Je ne suis pas sûr que ce soit la seule erreur, mais tant que tu ne prendras la peine de corriger, je ne vois pourquoi je passerais plus de temps sur ton code.

Discussions similaires

  1. [Joomla!] Passer une valeur d'un fichier templateDétails template "index.php" dans un fichier "index.php
    Par jacma dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 02/02/2015, 10h29
  2. Réponses: 2
    Dernier message: 22/01/2012, 15h29
  3. lire des fichiers dont le nom est dans un fichier
    Par homonxa dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 20/01/2010, 14h54
  4. Réponses: 7
    Dernier message: 27/05/2008, 10h54
  5. Réponses: 2
    Dernier message: 01/10/2007, 12h17

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