Bonjour,
voilà mon petit casse tête:
Le résultat d'une de mes cellules est une recherche verticale dans un
fichier excel autre, le problème est que pour effectuer ma recherche le dit
fichier doit être ouvert.
Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
source dépendant d'un choix fait dans une autre cellule.... un exemple sera
plus parlant:
Dans un fichier "fichier_exemple.xls":
Cellule A1 -> la valeur recherchée
Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
-> je choisis "fichier1.xls"
Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
autre solution identique ?
Merci pour votre aide.
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
Bonjour,
voilà mon petit casse tête:
Le résultat d'une de mes cellules est une recherche verticale dans un
fichier excel autre, le problème est que pour effectuer ma recherche le dit
fichier doit être ouvert.
Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
source dépendant d'un choix fait dans une autre cellule.... un exemple sera
plus parlant:
Dans un fichier "fichier_exemple.xls":
Cellule A1 -> la valeur recherchée
Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
-> je choisis "fichier1.xls"
Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
autre solution identique ?
Merci pour votre aide.
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
Bonjour,
voilà mon petit casse tête:
Le résultat d'une de mes cellules est une recherche verticale dans un
fichier excel autre, le problème est que pour effectuer ma recherche le dit
fichier doit être ouvert.
Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
source dépendant d'un choix fait dans une autre cellule.... un exemple sera
plus parlant:
Dans un fichier "fichier_exemple.xls":
Cellule A1 -> la valeur recherchée
Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
-> je choisis "fichier1.xls"
Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
autre solution identique ?
Merci pour votre aide.
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
Salut franck
Si dans ta liste en B1 il peux y avoir en plus du fichier son adresse ainsi :
C:CheminFichier1.xls
Tu peux mettre dans le VBA de la feuille ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (Target)
End If
End Sub
Si le chemin du répertoire des fichiers est identique pour tous ces fichiers
tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open ("Le chemin" & Target)
End If
End Sub
Si les fichiers à choisir sont dans le même répertoire que le classeurou
l'on opère le choix tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (ThisWorkbook.Path & Target)
End If
End Sub
Quelque soit la configuration le chemin est indispensable pour l'ouverture
des fichiers sélectionner
A toi de nous dire
Salut franck
Si dans ta liste en B1 il peux y avoir en plus du fichier son adresse ainsi :
C:CheminFichier1.xls
Tu peux mettre dans le VBA de la feuille ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (Target)
End If
End Sub
Si le chemin du répertoire des fichiers est identique pour tous ces fichiers
tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open ("Le chemin" & Target)
End If
End Sub
Si les fichiers à choisir sont dans le même répertoire que le classeurou
l'on opère le choix tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (ThisWorkbook.Path & Target)
End If
End Sub
Quelque soit la configuration le chemin est indispensable pour l'ouverture
des fichiers sélectionner
A toi de nous dire
Salut franck
Si dans ta liste en B1 il peux y avoir en plus du fichier son adresse ainsi :
C:CheminFichier1.xls
Tu peux mettre dans le VBA de la feuille ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (Target)
End If
End Sub
Si le chemin du répertoire des fichiers est identique pour tous ces fichiers
tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open ("Le chemin" & Target)
End If
End Sub
Si les fichiers à choisir sont dans le même répertoire que le classeurou
l'on opère le choix tu peux mettre ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then
Workbooks.Open (ThisWorkbook.Path & Target)
End If
End Sub
Quelque soit la configuration le chemin est indispensable pour l'ouverture
des fichiers sélectionner
A toi de nous dire
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
8587BD6A-5B55-4F15-B0EB-19D1896C9EFC@microsoft.com...
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
8587BD6A-5B55-4F15-B0EB-19D1896C9EFC@microsoft.com...
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
8587BD6A-5B55-4F15-B0EB-19D1896C9EFC@microsoft.com...
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Au Québec, ça fonctionne ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B3").Address Then Call Ouvre
End Sub
Sub Ouvre()
Static nom As String
Dim rep As String
Dim ici As String
ici = ActiveWorkbook.Name
rep = "C:Documents and SettingsSergeMes documentsMaths"
Application.ScreenUpdating = False
On Error Resume Next
Workbooks(nom).Close
nom = [B3]
Workbooks.Open rep & nom
Workbooks(ici).Activate
Application.ScreenUpdating = True
End Sub
Serge
"franck001" a écrit dans le message de news:Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Au Québec, ça fonctionne ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B3").Address Then Call Ouvre
End Sub
Sub Ouvre()
Static nom As String
Dim rep As String
Dim ici As String
ici = ActiveWorkbook.Name
rep = "C:Documents and SettingsSergeMes documentsMaths"
Application.ScreenUpdating = False
On Error Resume Next
Workbooks(nom).Close
nom = [B3]
Workbooks.Open rep & nom
Workbooks(ici).Activate
Application.ScreenUpdating = True
End Sub
Serge
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
121F571F-82E1-4E83-A5E4-A2C1F0B287CC@microsoft.com...
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :
Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
8587BD6A-5B55-4F15-B0EB-19D1896C9EFC@microsoft.com...
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Bonjour,
Au Québec, ça fonctionne ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B3").Address Then Call Ouvre
End Sub
Sub Ouvre()
Static nom As String
Dim rep As String
Dim ici As String
ici = ActiveWorkbook.Name
rep = "C:Documents and SettingsSergeMes documentsMaths"
Application.ScreenUpdating = False
On Error Resume Next
Workbooks(nom).Close
nom = [B3]
Workbooks.Open rep & nom
Workbooks(ici).Activate
Application.ScreenUpdating = True
End Sub
Serge
"franck001" a écrit dans le message de news:Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :Bonjour,
Quelque chose du genre :
1) Dans un module standard du classeur fichier_exemple :
Sub Ouvre()
Dim nom As String
On Error Resume Next
Application.ScreenUpdating = False
nom = [B1]
Workbooks.Open Filename:= _
"C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls").Activate
Application.ScreenUpdating = True
End Sub
2) Dans le module de la feuille contenant tes choix :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B1").Address Then Call Ouvre
End Sub
Serge
"franck001" a écrit dans le message de news:
> Bonjour,
>
> voilà mon petit casse tête:
> Le résultat d'une de mes cellules est une recherche verticale dans un
> fichier excel autre, le problème est que pour effectuer ma recherche le dit
> fichier doit être ouvert.
> Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> plus parlant:
> Dans un fichier "fichier_exemple.xls":
> Cellule A1 -> la valeur recherchée
> Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> -> je choisis "fichier1.xls"
> Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
>
> Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> autre solution identique ?
>
> Merci pour votre aide.
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
Rebonjour à toi
Pour refermer le fichier ouvert suite à un autre choix
Tu peux inclure ce bout de code :
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dans ces instructions j'analyse le document actif pour détecter si il fait
parti de la liste me basant sur son nom dans lequel le mot Fichier est
présent :
If ActiveWorkbook.Name Like "*Fichier*" then
si c'est le cas je ferme le classeur Active sans enregistrer les
modifications :
ActiveWorkbook.Close SaveChange:úlse
Si tu veux enregistrer les modifications il faut plutôt mettre :
ActiveWorkbook.Close SaveChange:=True
Si les noms de ta liste ne contiennent pas obligatoirement "Fichier" il faut
modifier la condition ainsi :
If ActiveWorkbook.Name Like "*Nom1*" or ActiveWorkbook.Name Like "*Nom2*"
or ActiveWorkbook.Name Like "*Nom3*" etc..... then
Qui veut dire si le nom du classeur actif contient "Nom1" ou "Nom2" Ou
"Nom3" etc....
Il est possible aussi à l'ouverture de tes fichiers d'enregistrer leur nom
dans une cellule ("A1" par exemple) et d'aller récupérer ce nom dans cette
cellule à la fermeture ainsi :
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Ce qui donne le code d'ouverture et de fermeture final avec l'enregistrement
du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
Sans enregistrement du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
A toi d'adapter tout celà à tes contraintes
Donnes moi des nouvelles !!!!!
Rebonjour à toi
Pour refermer le fichier ouvert suite à un autre choix
Tu peux inclure ce bout de code :
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dans ces instructions j'analyse le document actif pour détecter si il fait
parti de la liste me basant sur son nom dans lequel le mot Fichier est
présent :
If ActiveWorkbook.Name Like "*Fichier*" then
si c'est le cas je ferme le classeur Active sans enregistrer les
modifications :
ActiveWorkbook.Close SaveChange:úlse
Si tu veux enregistrer les modifications il faut plutôt mettre :
ActiveWorkbook.Close SaveChange:=True
Si les noms de ta liste ne contiennent pas obligatoirement "Fichier" il faut
modifier la condition ainsi :
If ActiveWorkbook.Name Like "*Nom1*" or ActiveWorkbook.Name Like "*Nom2*"
or ActiveWorkbook.Name Like "*Nom3*" etc..... then
Qui veut dire si le nom du classeur actif contient "Nom1" ou "Nom2" Ou
"Nom3" etc....
Il est possible aussi à l'ouverture de tes fichiers d'enregistrer leur nom
dans une cellule ("A1" par exemple) et d'aller récupérer ce nom dans cette
cellule à la fermeture ainsi :
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Ce qui donne le code d'ouverture et de fermeture final avec l'enregistrement
du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
Sans enregistrement du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
A toi d'adapter tout celà à tes contraintes
Donnes moi des nouvelles !!!!!
Rebonjour à toi
Pour refermer le fichier ouvert suite à un autre choix
Tu peux inclure ce bout de code :
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dans ces instructions j'analyse le document actif pour détecter si il fait
parti de la liste me basant sur son nom dans lequel le mot Fichier est
présent :
If ActiveWorkbook.Name Like "*Fichier*" then
si c'est le cas je ferme le classeur Active sans enregistrer les
modifications :
ActiveWorkbook.Close SaveChange:úlse
Si tu veux enregistrer les modifications il faut plutôt mettre :
ActiveWorkbook.Close SaveChange:=True
Si les noms de ta liste ne contiennent pas obligatoirement "Fichier" il faut
modifier la condition ainsi :
If ActiveWorkbook.Name Like "*Nom1*" or ActiveWorkbook.Name Like "*Nom2*"
or ActiveWorkbook.Name Like "*Nom3*" etc..... then
Qui veut dire si le nom du classeur actif contient "Nom1" ou "Nom2" Ou
"Nom3" etc....
Il est possible aussi à l'ouverture de tes fichiers d'enregistrer leur nom
dans une cellule ("A1" par exemple) et d'aller récupérer ce nom dans cette
cellule à la fermeture ainsi :
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Ce qui donne le code d'ouverture et de fermeture final avec l'enregistrement
du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*" & Range("A1") & "*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
Sans enregistrement du nom en cellule A1 :
If Target.Address = Range("B3").Address Then
If ActiveWorkbook.Name Like "*Fichier*" then
ActiveWorkbook.Close SaveChange:úlse
End If
Dim wbk As Workbook
Set wbk = Workbooks.Open(ActiveWorkbook.Path & "" & Target & ".XLS")
ThisWorkbook.Activate
Range("A1") = Target
End If
A toi d'adapter tout celà à tes contraintes
Donnes moi des nouvelles !!!!!
Dans le haut du module Standard,
tu déclares une variable as Public
Public Wk as Workbook ' peut être que simplement Dim serait suffisant.
à l'ouverture du classeur, tu fais comme ceci
Set Wk = Workbooks.Open Filename:= _
("C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls"))
Quand tu veux fermer le classeur que tu as ouvert, tu passes
la ligne de code suivante :
Wk.Close True 'True enregistre le fichier sans le demander
Tu peux aussi utiliser False si tu le désire.
"franck001" a écrit dans le message de groupe de
discussion :
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :
> Bonjour,
>
> Quelque chose du genre :
>
> 1) Dans un module standard du classeur fichier_exemple :
>
> Sub Ouvre()
> Dim nom As String
> On Error Resume Next
> Application.ScreenUpdating = False
> nom = [B1]
> Workbooks.Open Filename:= _
> "C:Documents and SettingsSergeMes documentsMaths" & nom
> Windows("fichier_exemple.xls").Activate
> Application.ScreenUpdating = True
> End Sub
>
> 2) Dans le module de la feuille contenant tes choix :
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> If Target.Address = Range("B1").Address Then Call Ouvre
> End Sub
>
> Serge
>
>
>
>
> "franck001" a écrit dans le message de news:
>
> > Bonjour,
> >
> > voilà mon petit casse tête:
> > Le résultat d'une de mes cellules est une recherche verticale dans un
> > fichier excel autre, le problème est que pour effectuer ma recherche le dit
> > fichier doit être ouvert.
> > Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> > source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> > plus parlant:
> > Dans un fichier "fichier_exemple.xls":
> > Cellule A1 -> la valeur recherchée
> > Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> > -> je choisis "fichier1.xls"
> > Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
> >
> > Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> > s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> > autre solution identique ?
> >
> > Merci pour votre aide.
> >
> > ------(-_-)°zZz------
> > Franck
> > http://www.deschamps-web.com
>
>
>
Dans le haut du module Standard,
tu déclares une variable as Public
Public Wk as Workbook ' peut être que simplement Dim serait suffisant.
à l'ouverture du classeur, tu fais comme ceci
Set Wk = Workbooks.Open Filename:= _
("C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls"))
Quand tu veux fermer le classeur que tu as ouvert, tu passes
la ligne de code suivante :
Wk.Close True 'True enregistre le fichier sans le demander
Tu peux aussi utiliser False si tu le désire.
"franck001" <franck001@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 121F571F-82E1-4E83-A5E4-A2C1F0B287CC@microsoft.com...
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :
> Bonjour,
>
> Quelque chose du genre :
>
> 1) Dans un module standard du classeur fichier_exemple :
>
> Sub Ouvre()
> Dim nom As String
> On Error Resume Next
> Application.ScreenUpdating = False
> nom = [B1]
> Workbooks.Open Filename:= _
> "C:Documents and SettingsSergeMes documentsMaths" & nom
> Windows("fichier_exemple.xls").Activate
> Application.ScreenUpdating = True
> End Sub
>
> 2) Dans le module de la feuille contenant tes choix :
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> If Target.Address = Range("B1").Address Then Call Ouvre
> End Sub
>
> Serge
>
>
>
>
> "franck001" <franck001@discussions.microsoft.com> a écrit dans le message de news:
> 8587BD6A-5B55-4F15-B0EB-19D1896C9EFC@microsoft.com...
> > Bonjour,
> >
> > voilà mon petit casse tête:
> > Le résultat d'une de mes cellules est une recherche verticale dans un
> > fichier excel autre, le problème est que pour effectuer ma recherche le dit
> > fichier doit être ouvert.
> > Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> > source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> > plus parlant:
> > Dans un fichier "fichier_exemple.xls":
> > Cellule A1 -> la valeur recherchée
> > Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> > -> je choisis "fichier1.xls"
> > Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
> >
> > Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> > s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> > autre solution identique ?
> >
> > Merci pour votre aide.
> >
> > ------(-_-)°zZz------
> > Franck
> > http://www.deschamps-web.com
>
>
>
Dans le haut du module Standard,
tu déclares une variable as Public
Public Wk as Workbook ' peut être que simplement Dim serait suffisant.
à l'ouverture du classeur, tu fais comme ceci
Set Wk = Workbooks.Open Filename:= _
("C:Documents and SettingsSergeMes documentsMaths" & nom
Windows("fichier_exemple.xls"))
Quand tu veux fermer le classeur que tu as ouvert, tu passes
la ligne de code suivante :
Wk.Close True 'True enregistre le fichier sans le demander
Tu peux aussi utiliser False si tu le désire.
"franck001" a écrit dans le message de groupe de
discussion :
Jolie solution aussi j'aime bien le screenupdating pour passer incognito.
Tu ne saurais pas comment faire pour fermer le
fichier ouvert si je fais un autre choix dans ma cellule par hasard ?
------(-_-)°zZz------
Franck
http://www.deschamps-web.com
"garnote" a écrit :
> Bonjour,
>
> Quelque chose du genre :
>
> 1) Dans un module standard du classeur fichier_exemple :
>
> Sub Ouvre()
> Dim nom As String
> On Error Resume Next
> Application.ScreenUpdating = False
> nom = [B1]
> Workbooks.Open Filename:= _
> "C:Documents and SettingsSergeMes documentsMaths" & nom
> Windows("fichier_exemple.xls").Activate
> Application.ScreenUpdating = True
> End Sub
>
> 2) Dans le module de la feuille contenant tes choix :
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> If Target.Address = Range("B1").Address Then Call Ouvre
> End Sub
>
> Serge
>
>
>
>
> "franck001" a écrit dans le message de news:
>
> > Bonjour,
> >
> > voilà mon petit casse tête:
> > Le résultat d'une de mes cellules est une recherche verticale dans un
> > fichier excel autre, le problème est que pour effectuer ma recherche le dit
> > fichier doit être ouvert.
> > Jusque là pas de pb, mon problème se corse car j'aimerai ouvrir un fichier
> > source dépendant d'un choix fait dans une autre cellule.... un exemple sera
> > plus parlant:
> > Dans un fichier "fichier_exemple.xls":
> > Cellule A1 -> la valeur recherchée
> > Cellule B1 -> liste de choix: fichier1.xls, fichier2.xls, fichier3.xls
> > -> je choisis "fichier1.xls"
> > Cellule C1 -> RECHERCHEV($A$1;INDIRECT("["&B1&"]"&"Onglet1!$B$3:$I$55");3)
> >
> > Comment faire pour que, lors de mon choix de fichier en B1, ce dernier
> > s'ouvre en fond pour me permettre de faire ma recherche en C1 ensuite ou tout
> > autre solution identique ?
> >
> > Merci pour votre aide.
> >
> > ------(-_-)°zZz------
> > Franck
> > http://www.deschamps-web.com
>
>
>