Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2011, 15h57   #1
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Par défaut Rechercher une valeur dans un fichier dont les noms sont dans les cellules de la colonne A

Rebonjour,

Je n'arrive pas à utiliser les cellules de la colonne A pour renseigner le chemin des fichiers où est comptenu les valeurs qui m'intéresse.

Pouvez vous m'aider à résoudre ce problème?

Merci!
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 19h08   #2
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
La fonction que j'aimerais reproduire est la suivant :

Code :
=RECHERCHEV("H.T";'G:\RST\DEVIS Xavier\1106-001c Mairie (Centre de la petite enfance).xls'!HT;3)
Mais quand je la modifie pour obtenir en truc de ce genre :

Code :
=RECHERCHEV("H.T";'G:\RST\DEVIS Xavier\'A2'!HT;3)
ou
Code :
=RECHERCHEV("H.T";'G:\RST\DEVIS Xavier\'INDIRECT.EXT(A2)'!HT;3)
ou
Code :
=RECHERCHEV("H.T";'A1' \ 'A2'!HT;3)
etc...

Cela ne fonctionne pas, cela me demande de mettre à jours la valeur alors que
justement A1 contient :
G:\RST\DEVIS

et que A2 contient :
1106-001c Mairie (Centre de la petite enfance).xls

Je ne comprend pas comment faire pour utilisé ces deux valeurs!?
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 19h52   #3
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Dans ce cas, tu peux définir une plage nommée (onglet "Formules", "Définir un nom") par exemple nom : Plage, fait référence à :

'G:\RST\DEVIS Xavier\1106-001c Mairie (Centre de la petite enfance).xls'!HT

et ensuite, écrire ta formule comme suit :

Code :
=RECHERCHEV("H.T";Plage;3)
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 20h43   #4
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Malheureusement cela ne peux pas marché puisque

mon fichier "synthèse" utilise une macro pour lister tous les devis
dans la colonnes "A"
|------A---------|---- B------|---- C-------|
----- Devis------|----H.T-----| G:\RST\Devis xavier
1106-001 blabla--|--1200.00---|
1106-002 blabla--|-- 5400.00--|
...
1108-021 blabla--|-12050.00---|
...
le nombre de la colonne B n'est accessible que de la matrice du "1106-001 blabla" et le noms du fichiers ne peux être rentré à la main vue qu'il y a beaucoup de fichier

donc il faut que je trouve une fonction texte ou je sais pas quoi, qui une fois
dit :

tu va cherche le montant X dans le fichier bidul par l'intermédiaire de la matrice de celui-ci, puis à la ligne suivant dans le fichier machin et ainsi de suite

Cette une recherche qui change à chaque ligne!?
un truc chiant quoi!
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 21h17   #5
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
J'ai trouver un truc qui me fais ca :

Code :
=RECHERCHEV("H.T";CONCATENER(A1;A2;"!HT");3)
ce qui équivaut à
Code :
=RECHERCHEV("H.T";"'G:\RST\DEVIS Xavier\1106-001c Mairie (Centre de la petite enfance).xls'!HT");3)
il faudrait éliminer les guillemets.
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 09h58   #6
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
J'ai cherché ds tous les sens. Je pense que ce n'est pas possible avc les seules fonctions d'excel, peut être qu'une macro pourrait faire l'affaire mais je n'en ai jamais fait.
Donc, j'aimerai savoir s'il existe une macro pouvant lire une donné à partir d'une cellule contenant le chemin d'accès au fichier et d'utiliser la matrice de celui-ci (nommé H.T.) et récupérer la valeur du devis.
Je fais appel à tous les experts en la matière qui pourrait m'apporter un début de réponse...
Merci
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 11h22   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Dans ce cas, si tu as installé la macro complémentaire Morefunc, utilise INDIRECT.EXT. Je ne la pratique pas , n'ayant jamais installé cette macro complémentaire; mais si sa syntaxe est semblable à celle d'INDIRECT, tu devrais écrire :

Code :
=RECHERCHEV("H.T";INDIRECT.EXT("'G:\RST\DEVIS Xavier\'"&A2)'!HT;3)
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 13h45   #8
Invité de passage
 
Homme Hosni BRIKI
INFORMATICIEN DEVELOPPEUR
Inscription : décembre 2011
Messages : 13
Détails du profil
Informations personnelles :
Nom : Homme Hosni BRIKI
Localisation : Algérie

Informations professionnelles :
Activité : INFORMATICIEN DEVELOPPEUR
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : décembre 2011
Messages : 13
Points : 1
Points : 1
Bonjour!
Dans ton cas, je suppose que tu dois nommer la plage des données ou doit s'effectuer la recherche, mais sache que RECHERCHEV ne s'applique que lorsque la valeur recherché se trouve dans la première colonne de ta plage nommée.
Voilà, j’espère avoir apporter un plus
Bon Courage.
bhosni est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/12/2011, 14h18   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour bhosni,

Merci de ta contribution, mais indique à qui tu t'adresses quand il y a plusieurs contributeurs, c'est plus clair.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 09h58   #10
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Bonjour,

A1 : 1106-001c Mairie (Centre de la petite enfance).xls
B1 : G:\RST\DEVIS Xavier
(Supprime le nom du fichier en B1)

C1 :
Code :
=RECHERCHEV("H.T";INDIRECT(CONCATENER("'";B1;"\";"[";A1;"]";"HT'!$A$1:$F$10"));3)
à adapter :

Cordialement
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h14   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
@ White Mibu :

Bonjour, INDIRECT ne fonctionne pas avec un fichier fermé, c'est ce qui fait la réputation internationale de la macro complémentaire "morefunc" de Laurent Longre (à défaut de faire sa fortune).
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h53   #12
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221


C'est pas faux !
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 19h33   #13
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
J'ajoute une réponse qui rejoint une autre conversation... Je crois qu'on ne peut pas joindre de fichier en MP ?

Voilà deux fichiers exemples, je pense que c'est une bonne solution à ton problème.

Fichier exemple (2), à chaque fichier trouver la recherche vertical se fait automatiquement.

Fichier exemple (3), si tu veux adapter la macro seule pour actualiser les recherche...

Si ta des questions, n'hésite pas ! Tiens moi au courant

Cordialement
Fichiers attachés
Type de fichier : zip Exemple liste fichiers (2).zip (9,7 Ko, 6 affichages)
Type de fichier : zip Exemple liste fichiers (3).zip (10,8 Ko, 2 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 00h23   #14
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Bonsoir,
Je n'ai pas réussi à faire fonctionner les deux fichers que tu as créer.
le programme le lance le débogage et ca ma ouvert les fichiers cible
j'ai pas trop cherche le problème vue que je ne comprend trop ce que ca fait.

Par contre j'ai peu être une bonne idée.

je veux faire croire à excel que j'ai écris
Code :
1
2
 
=RECHERCHEV("H.T";'G:\SCCG\DEVIS Xavier\1106-001c Mairie de Troyes (Centre de la petite enfance).xls'!HT;3)
Alors que c'est la macro, j'ai essayer avec ca :
Code :
1
2
3
4
5
 
Sub test2()
ligne = 2
Cells(ligne, 2) = "=RECHERCHEV("H.T";'" & [A1].Value & [A2].Value & "'!HT;3)"
End Sub
ca ne marche pas encore mais je ne perd pas espoir!
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 13h53   #15
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Bonjour,

excuse j'avais pas pensé que tous tes onglets n'avais le même noms...

test ce fichier je pense que tu n'aura pas de bugs

Cordialement
Fichiers attachés
Type de fichier : zip Exemple liste fichiers (3).zip (8,8 Ko, 2 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 10h39   #16
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Re bonjour,

J'ai de nouveau un peu de temps à conssacré à ce casse tête!

j'ai trouvé dans tuto un script que j'ai personnalisé qui devrait fonctionné
mais qui m'affiche une erreur de compilation :

"type defini par l'utilisateur non défini"

pouvez vous m'aider a comprend et trouve le solution pour que cela fonction!

voici le code:
Code :
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
 
 
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
    'Adresse de la cellule contenant la donnée à récupérer
    Cellule = "G21:G21"
    'Pour une plage de cellules, utilisez:
    'Cellule = "A4:C10"
    Feuille = "Client-Devis$" '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

pourtant

j'ai bien activé les "Microscoft active objet x.x" comme demandé!
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 10h54   #17
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Est-ce que tu as coché la référence Microsoft ActiveX Data Objects 2.n Library ?
(Dans la fenêtre VBE : Outils, Références.)
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h24   #18
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Alors tous un tas de

Microsoft ActiveX Data Objects n.n Library
et donc je viens de désactive la 2.0

ET j'ai activé la 6.0 puisque apparent on ne peu les active toutes

Mon message d'erreur a changé il me dit :

Le moteur de recherche Jet Blabla na pa pue trouvé "Devis-Client"
veuillez vérifier si chemin correct ou si ficher existe

j'ai vérifier modifié le mon mal écrit cela me donne le même message
je ne vois pas ce qui cloche :
Code :
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
 
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
    'Adresse de la cellule contenant la donnée à récupérer
    Cellule = "G21:G21"
    '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
Si vous voyer quelque chose cela m'aiderai
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h28   #19
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
Dans A1 j'ai : G:\SCCG\DEVIS Xavier\
Dans A2 j'ai : 1110-007s Magiline travaux.xls
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h49   #20
Invité de passage
 
Homme
Chargé d'affaire
Inscription : 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 : 1
Points : 1
J'ai réussi ce marche

MAINTENANT
je veux mettre une boucle qui recherche le Mot "HT" dans ma colonne "F" et quand il la trouvé par exemple "F78" je qu'il me donne la valeur de "G28".

Peu être que je vais y arrivé pour noël a faire ce que je veux!
xtend est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h15.


 
 
 
 
Partenaires

Hébergement Web