Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
bonjour Serkanao,
regarde surhttp://xcell05.free.fr/pages/telecharge/index.html#Morefunc
la fonction INDIRECT.EXT pour les classeurs fermés elle fait parti de :
Morefunc.xll :66 fonctions complémentaires de feuille de calcul -
version 5.01
isabelle
isabelle
Serkanao a écrit :
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
bonjour Serkanao,
regarde surhttp://xcell05.free.fr/pages/telecharge/index.html#Morefunc
la fonction INDIRECT.EXT pour les classeurs fermés elle fait parti de :
Morefunc.xll :66 fonctions complémentaires de feuille de calcul -
version 5.01
isabelle
isabelle
Serkanao a écrit :
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
bonjour Serkanao,
regarde surhttp://xcell05.free.fr/pages/telecharge/index.html#Morefunc
la fonction INDIRECT.EXT pour les classeurs fermés elle fait parti de :
Morefunc.xll :66 fonctions complémentaires de feuille de calcul -
version 5.01
isabelle
isabelle
Serkanao a écrit :
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
o(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" a écrit dans le message de groupe de discussion :
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça .
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accè s
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
=Ado(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
91970426-d286-4421-843f-468aaeaea...@v36g2000yqv.googlegroups.com...
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça .
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accè s
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
o(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" a écrit dans le message de groupe de discussion :
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça .
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accè s
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
o(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" a écrit dans le message de groupe de discussion :
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
o(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
91970426-d286-4421-843f-468aaeaea...@v36g2000yqv.googlegroups.com...
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Bonjour Serkanao,
Tu peux utiliser une fonction personnalisée si tu veux extraire
seulement la valeur d'une cellule dans un fichier fermé.
La fonction suivante doit être placé dans un module standard.
Tu dois ajouter une référence à ton projet.
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
Outils / Références / Et Tu coches :
"Microsoft Activex Data Objects 2.8 Librairy"
Pour appeler cette fonction à partir de ta feuille de calcul
Exemple : dans les cellule suivantes, tu as l'information suivante:
: Chemin et nom du fichier
En A1 : C:UsersDMDocumentsExemple TDC.xls
En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
où tu veux
En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
La ligne de commande s'écrit comme suit dans la cellule :
o(A1;A2:A3)
Que le classeur soit ouvert ou fermé, cela devrait fonctionner
sauf si au même moment quelqu'un est en train de modifier
le contenu de la cellule dont tu veux importer !
'----------------------------------------
Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Plg As String
Plg = Range(Cellule.Value).Address(0, 0)
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File.Value & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
Ado = Rst(0).Value
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------
"Serkanao" a écrit dans le message de groupe de discussion :
Bonjour à tous..
Voici mon problème :
J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
TableauxC.xls
J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
un tableau regroupant les résumant les résultats.
Par exemple;
dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
"Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
...
Normalement cette formule ne marche que si le classeur de référence
est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
Dans la colonne B j'ai justement les chemins d'accès de chaque
classeur. Mon but serait de savoir comment insérer les chemins d'accès
de cette colonne dans les cellules contenant les formules.
CàD :
A1 =SOMMEPRODUIT(B1)*1
A2 =SOMMEPRODUIT(B2)*1
A3 =SOMMEPRODUIT(B3)*1
Je ne sais pas comment faire référence aux cellules de la colonne B.
J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
l'erreur #VALEUR qui apparait..
Je ne sais pas si mon explication est assez claire. J'espère en tout
cas que certains auront le courage de m'aider :)
Merci d'avance.
Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de cod e
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
4f41f352-96ee-4b83-b5dc-283342245...@v36g2000yqv.googlegroups.com...
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" <michde...@hotmail.com> wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de cod e
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> =Ado(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
> 91970426-d286-4421-843f-468aaeaea...@v36g2000yqv.googlegroups.com...
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de cod e
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accè s est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-c i a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'acc ès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B .
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
4f41f352-96ee-4b83-b5dc-283342245...@v36g2000yqv.googlegroups.com...
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" <michde...@hotmail.com> wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
> 91970426-d286-4421-843f-468aaeaea...@v36g2000yqv.googlegroups.com...
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
4f41f352-96ee-4b83-b5dc-283342245...@v36g2000yqv.googlegroups.com...
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" <michde...@hotmail.com> wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" <akar.ser...@gmail.com> a écrit dans le message de groupe de discussion :
> 91970426-d286-4421-843f-468aaeaea...@v36g2000yqv.googlegroups.com...
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations
Tu as ma fonction ou tu dois écrire le chemin en dur dans tes formules.
Indirect() ne s'applique pas dans un classeur fermer. Et l'autre version
de la fonction Indirect.ext(), tu ne peux pas l'utiliser.
Ma fonction peut être modifié selon la manière dont tu aimerais
renseigner les paramètres de celle-ci !
"Serkanao" a écrit dans le message de groupe de discussion :
J'ai essayé mais pas vraiment réussi.. Je vais y travailler dessus
merci quand même..
Mais donc c'est impossible sans macro ? Parce que j'arrive à avoir mes
résultats sans que les fichiers ne soient ouverts. Je veux juste
m'éviter le travail manuel d'écrire les chemins d'accès pour chaque
classeur..
On Aug 25, 4:14 pm, "MichDenis" wrote:
> Bonjour Serkanao,
> Tu peux utiliser une fonction personnalisée si tu veux extraire
> seulement la valeur d'une cellule dans un fichier fermé.
> La fonction suivante doit être placé dans un module standard.
> Tu dois ajouter une référence à ton projet.
> Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code
> Outils / Références / Et Tu coches :
> "Microsoft Activex Data Objects 2.8 Librairy"
> Pour appeler cette fonction à partir de ta feuille de calcul
> Exemple : dans les cellule suivantes, tu as l'information suivante:
> : Chemin et nom du fichier
> En A1 : C:UsersDMDocumentsExemple TDC.xls
> En A2 : Feuil1 'Nom de l'onglet de la feuille dans le classeur
> où tu veux
> En A3 : A2 'L'adresse de la cellule à extraire dans la Feuil1
> La ligne de commande s'écrit comme suit dans la cellule :
> o(A1;A2:A3)
> Que le classeur soit ouvert ou fermé, cela devrait fonctionner
> sauf si au même moment quelqu'un est en train de modifier
> le contenu de la cellule dont tu veux importer !
> '----------------------------------------
> Function Ado(File As Range, NomFeuille As Range, Cellule As Range)
> Dim Conn As New ADODB.Connection, Rst As New ADODB.Recordset
> Dim Requete As String, Plg As String
> Plg = Range(Cellule.Value).Address(0, 0)
> Set Conn = New ADODB.Connection
> Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & File.Value & ";" & _
> "Extended Properties=""Excel 8.0;HDR=NO;"""
> Requete = "SELECT * From [" & NomFeuille.Value & "$]" & Plg & ""
> Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
> Ado = Rst(0).Value
> Rst.Close: Conn.Close
> Set Rst = Nothing: Set Conn = Nothing
> End Function
> '----------------------------------------
> "Serkanao" a écrit dans le message de groupe de discussion :
>
> Bonjour à tous..
> Voici mon problème :
> J'ai plusieurs classeurs nommés A, B, C, ... Ils ont tous le même
> format, les mêmes onglets avec les mêmes noms. Leur chemin d'accès est
> C:DossiersTableauxA.xls ; C:DossiersTableauxB.xls; C:Dossiers
> TableauxC.xls
> J'ai également un dernier classeur nommé "Récapitulatif". Celui-ci a
> un tableau regroupant les résumant les résultats.
> Par exemple;
> dans la cellule A1 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur A ( ='C:DossiersTableaux[A.xls]Onglet'!$X$2)
> dans la cellule A2 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur B( ='C:DossiersTableaux[B.xls]Onglet'!$X$2)
> dans la cellule A3 j'ai le résultat de la cellule X2 de l'onglet
> "Onglet" du classeur C( ='C:DossiersTableaux[C.xls]Onglet'!$X$2)
> ...
> Normalement cette formule ne marche que si le classeur de référence
> est ouvert mais avec la formule SOMMEPRODUIT j'arrive à contourner ça.
> ( SOMMEPRODUIT('C:DossiersTableaux[B.xls]Onglet'!$X$2)*1)
> Dans la colonne B j'ai justement les chemins d'accès de chaque
> classeur. Mon but serait de savoir comment insérer les chemins d'accès
> de cette colonne dans les cellules contenant les formules.
> CàD :
> A1 =SOMMEPRODUIT(B1)*1
> A2 =SOMMEPRODUIT(B2)*1
> A3 =SOMMEPRODUIT(B3)*1
> Je ne sais pas comment faire référence aux cellules de la colonne B.
> J'ai essayé : (" '&B1&'") et d'autres variantes mais j'ai toujours
> l'erreur #VALEUR qui apparait..
> Je ne sais pas si mon explication est assez claire. J'espère en tout
> cas que certains auront le courage de m'aider :)
> Merci d'avance.
> Salutations