dans VBA, j'utilise la formule
nomfichier = Application.GetSaveAsFilename()
afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse.
(nomfichier)
Exemple:
C:\monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail
un lien vers la cellule A7 de la premiere feuille de ce
classeur(monclasseur.xls), normalement :
cells(1, 1).value = "='c:\[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ?
Je suis bloqué par les "[ ]"... la formule :
cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement
pas !
:(
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour François,
ceci devrait fonctionner :
2 ou 3 petites choses à adapter selon ton application...
Cette procédure requiert au moins excel 2000 à cause de la fonction Split() Au besoin on peut la substituer !
'----------------------------------- Sub OuvertureFichiers()
Dim A As Variant, Fichier As String Dim Adr As String, C As Variant Dim Chemin As String
A = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _ , "Sélection de vos fichiers excel", , False)
If TypeName(A) = "Boolean" Then Exit Sub
'Objectif obtenir une chaîne de ce type : '='C:ATravail[Classeur1.xls]Feuil1'!A1 C = Split(A, "") Fichier = C(UBound(C)) & "]" Chemin = "='" & Left(A, Len(A) - Len(C(UBound(C)))) & "[" Adr = "Feuil1'!A1"
With Worksheets("Feuil1") .Range("B20").Formula = Chemin & Fichier & Adr End With
End Sub '-----------------------------------
Salutations!
"François" <Franç a écrit dans le message de news:
Bonjour à tous,
dans VBA, j'utilise la formule nomfichier = Application.GetSaveAsFilename() afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse. (nomfichier) Exemple: C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail un lien vers la cellule A7 de la premiere feuille de ce classeur(monclasseur.xls), normalement : cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ? Je suis bloqué par les "[ ]"... la formule : cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement pas ! :(
Bonjour François,
ceci devrait fonctionner :
2 ou 3 petites choses à adapter selon ton application...
Cette procédure requiert au moins excel 2000 à
cause de la fonction Split()
Au besoin on peut la substituer !
'-----------------------------------
Sub OuvertureFichiers()
Dim A As Variant, Fichier As String
Dim Adr As String, C As Variant
Dim Chemin As String
A = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , False)
If TypeName(A) = "Boolean" Then Exit Sub
'Objectif obtenir une chaîne de ce type :
'='C:ATravail[Classeur1.xls]Feuil1'!A1
C = Split(A, "")
Fichier = C(UBound(C)) & "]"
Chemin = "='" & Left(A, Len(A) - Len(C(UBound(C)))) & "["
Adr = "Feuil1'!A1"
With Worksheets("Feuil1")
.Range("B20").Formula = Chemin & Fichier & Adr
End With
End Sub
'-----------------------------------
Salutations!
"François" <François@discussions.microsoft.com> a écrit dans le message de news:
C2CD366A-3B35-4DE4-AF3A-1C29535EC3B8@microsoft.com...
Bonjour à tous,
dans VBA, j'utilise la formule
nomfichier = Application.GetSaveAsFilename()
afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse.
(nomfichier)
Exemple:
C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail
un lien vers la cellule A7 de la premiere feuille de ce
classeur(monclasseur.xls), normalement :
cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ?
Je suis bloqué par les "[ ]"... la formule :
cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement
pas !
:(
2 ou 3 petites choses à adapter selon ton application...
Cette procédure requiert au moins excel 2000 à cause de la fonction Split() Au besoin on peut la substituer !
'----------------------------------- Sub OuvertureFichiers()
Dim A As Variant, Fichier As String Dim Adr As String, C As Variant Dim Chemin As String
A = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _ , "Sélection de vos fichiers excel", , False)
If TypeName(A) = "Boolean" Then Exit Sub
'Objectif obtenir une chaîne de ce type : '='C:ATravail[Classeur1.xls]Feuil1'!A1 C = Split(A, "") Fichier = C(UBound(C)) & "]" Chemin = "='" & Left(A, Len(A) - Len(C(UBound(C)))) & "[" Adr = "Feuil1'!A1"
With Worksheets("Feuil1") .Range("B20").Formula = Chemin & Fichier & Adr End With
End Sub '-----------------------------------
Salutations!
"François" <Franç a écrit dans le message de news:
Bonjour à tous,
dans VBA, j'utilise la formule nomfichier = Application.GetSaveAsFilename() afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse. (nomfichier) Exemple: C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail un lien vers la cellule A7 de la premiere feuille de ce classeur(monclasseur.xls), normalement : cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ? Je suis bloqué par les "[ ]"... la formule : cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement pas ! :(
isabelle
bonjour François,
Sub Macro1() nomfichier = Application.GetSaveAsFilename() For i = Len(nomfichier) To 1 Step -1 If Mid(nomfichier, i, 1) = "" Then Exit For Next fichier = Right(nomfichier, Len(nomfichier) - i) chemin = Left(nomfichier, i) Range("A1").Formula = "='" & chemin & "[" & fichier & "]Feuil1'!A7" End Sub
isabelle
Bonjour à tous,
dans VBA, j'utilise la formule nomfichier = Application.GetSaveAsFilename() afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse. (nomfichier) Exemple: C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail un lien vers la cellule A7 de la premiere feuille de ce classeur(monclasseur.xls), normalement : cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ? Je suis bloqué par les "[ ]"... la formule : cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement pas ! :(
bonjour François,
Sub Macro1()
nomfichier = Application.GetSaveAsFilename()
For i = Len(nomfichier) To 1 Step -1
If Mid(nomfichier, i, 1) = "" Then Exit For
Next
fichier = Right(nomfichier, Len(nomfichier) - i)
chemin = Left(nomfichier, i)
Range("A1").Formula = "='" & chemin & "[" & fichier & "]Feuil1'!A7"
End Sub
isabelle
Bonjour à tous,
dans VBA, j'utilise la formule
nomfichier = Application.GetSaveAsFilename()
afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse.
(nomfichier)
Exemple:
C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail
un lien vers la cellule A7 de la premiere feuille de ce
classeur(monclasseur.xls), normalement :
cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ?
Je suis bloqué par les "[ ]"... la formule :
cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement
pas !
:(
Sub Macro1() nomfichier = Application.GetSaveAsFilename() For i = Len(nomfichier) To 1 Step -1 If Mid(nomfichier, i, 1) = "" Then Exit For Next fichier = Right(nomfichier, Len(nomfichier) - i) chemin = Left(nomfichier, i) Range("A1").Formula = "='" & chemin & "[" & fichier & "]Feuil1'!A7" End Sub
isabelle
Bonjour à tous,
dans VBA, j'utilise la formule nomfichier = Application.GetSaveAsFilename() afin de recuperer le chemin d'acces et le nom d'un classeur qui m'interesse. (nomfichier) Exemple: C:monclasseur.xls
Je souhaite ensuite renvoyer dans la cellule A1 de mon classeur de travail un lien vers la cellule A7 de la premiere feuille de ce classeur(monclasseur.xls), normalement : cells(1, 1).value = "='c:[monclasseur.xls]Feuil1'!A7"
Comment créer dynamiquement, à l'aide de nomfichier (où d'autre chose) cela ? Je suis bloqué par les "[ ]"... la formule : cells(1, 1).value = "='" & nomfichier & "Feuil1'!A7" ne fonctionne evidement pas ! :(