Utiliser une cellule qui contient un chemin dans un fonction SI
zambrya
Messages postés
22
Statut
Membre
-
zambrya Messages postés 22 Statut Membre -
zambrya Messages postés 22 Statut Membre -
Bonjour à tous,
J'ai besoin de votre aide sur Excel.
Voilà j'aimerais utiliser la fonction suivante dans la cellule A3 SI([PA.xlsx]Feuil1!$A$1="oui";"soldé";""). Je souhaite changer la partie [PA.xlsx], pour se faire :
A1 = lien hypertexte menant à PA. C:\Users\XX\Desktop\PA
A2 = extraction du lien hypertexte grâce à une macro. C:\Users\XX\Desktop\PA
Je souhaite modifier [PA.xlsx] par l'extraction contenu dans la cellule A2 soit [C:\Users\XX\Desktop\PA]
L'interêt d'utiliser les extractions des liens hypertextes est que je vais avoir beaucoup de classeur PA (PA1,PA2, PA3,...). Le but est de ne pas apporter de modification à la fonction SI. Pour chaque classeur PA, seul le lien hypertexte sera à faire.
Ex :
B1 = lien hypertexte vers PA2
B2 = extraction du lien hypertexte vers PA 2 [C:\Users\XX\Desktop\PA2]
B3 =fonction SI [C:\Users\XX\Desktop\PA2]
Merci par avance pour votre aide.
J'ai besoin de votre aide sur Excel.
Voilà j'aimerais utiliser la fonction suivante dans la cellule A3 SI([PA.xlsx]Feuil1!$A$1="oui";"soldé";""). Je souhaite changer la partie [PA.xlsx], pour se faire :
A1 = lien hypertexte menant à PA. C:\Users\XX\Desktop\PA
A2 = extraction du lien hypertexte grâce à une macro. C:\Users\XX\Desktop\PA
Je souhaite modifier [PA.xlsx] par l'extraction contenu dans la cellule A2 soit [C:\Users\XX\Desktop\PA]
L'interêt d'utiliser les extractions des liens hypertextes est que je vais avoir beaucoup de classeur PA (PA1,PA2, PA3,...). Le but est de ne pas apporter de modification à la fonction SI. Pour chaque classeur PA, seul le lien hypertexte sera à faire.
Ex :
B1 = lien hypertexte vers PA2
B2 = extraction du lien hypertexte vers PA 2 [C:\Users\XX\Desktop\PA2]
B3 =fonction SI [C:\Users\XX\Desktop\PA2]
Merci par avance pour votre aide.
A voir également:
- Utiliser une cellule qui contient un chemin dans un fonction SI
- Fonction si et - Guide
- Comment utiliser chromecast sur tv - Guide
- Excel cellule couleur si condition texte - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
7 réponses
Bonjour,
En principe pour lire un classeur fermé en [A3] cette formule :
En principe pour lire un classeur fermé en [A3] cette formule :
=SI('C:\Users\XX\Desktop\[PA.xlsx]Feuil1'!$A$1="oui";"soldé";"")
Bonjour,
Certainement pas avec la fonction INDEX().
Il faut une fonction personnalisée, patience elle va suivre.
Certainement pas avec la fonction INDEX().
Il faut une fonction personnalisée, patience elle va suivre.
Bonjour zambrya,
Pour l'instant j'obtiens des résultats non fiables ... !
Dans le but de décider de la suite, j'ai besoin de connaitre deux éléments :
Le lien hypertexte se trouve uniquement dans la cellule [A1] oui ou non ?
Le lien contient-il la valeur absolue (le chemin complet) ou la valeur relative (le nom du classeur et son extension) ?
Salutations.
Le Pingou
Pour l'instant j'obtiens des résultats non fiables ... !
Dans le but de décider de la suite, j'ai besoin de connaitre deux éléments :
Le lien hypertexte se trouve uniquement dans la cellule [A1] oui ou non ?
Le lien contient-il la valeur absolue (le chemin complet) ou la valeur relative (le nom du classeur et son extension) ?
Salutations.
Le Pingou
Bonjour,
Dans la colonne A se trouve les liens hypertexte
Le lien est du type : \\w2k8s1\services\COMMUN\TRAVAIL\QUALITE\Actions correctives\PA test 1.xls
Dans la colonne B j'effectue une extraction du lien hypertexte (je ne sais pas si ça peut être utlie)
Et je souhaite que la fonction SI soit dans la colonne G
J'espère avoir apporté les informations nécessaires ...
Merci
Dans la colonne A se trouve les liens hypertexte
Le lien est du type : \\w2k8s1\services\COMMUN\TRAVAIL\QUALITE\Actions correctives\PA test 1.xls
Dans la colonne B j'effectue une extraction du lien hypertexte (je ne sais pas si ça peut être utlie)
Et je souhaite que la fonction SI soit dans la colonne G
J'espère avoir apporté les informations nécessaires ...
Merci
Bonjour,
Pour l'extraction du lien hypertexte, tu peux utilise la fonction suivante :
Pour l'accès à l'info qui se trouve dans ce classeur en Feuil1!$A$1, tu peux utiliser la fonction que wby31 proposait :
Si ce classeur n'est pas ouvert, tu peux utiliser la fonction INDIRECT.EXT() de MoreFunc (Laurent Longre) ou encore les solutions ADO qui gèrent les fichiers fermés.
cordialement
Pour l'extraction du lien hypertexte, tu peux utilise la fonction suivante :
Function adr_lien(a As Range)
adr_lien = "pas de lien"
If a.Hyperlinks.Count > 0 Then
adr_lien = a.Hyperlinks(1).Address
Else
If Left(a.Formula, 11) = "=HYPERLINK(" Then
adr_lien = Evaluate(Mid(a.Formula, 12, InStr(12, a.Formula, ",") - 12))
End If
End If
End Function
Pour l'accès à l'info qui se trouve dans ce classeur en Feuil1!$A$1, tu peux utiliser la fonction que wby31 proposait :
INDIRECT("'"&adr_lien(A9)&"Feuil1'!$A$1"). Cela suppose que ton classeur lié est ouvert.
Si ce classeur n'est pas ouvert, tu peux utiliser la fonction INDIRECT.EXT() de MoreFunc (Laurent Longre) ou encore les solutions ADO qui gèrent les fichiers fermés.
cordialement
Bonjour zambrya,
Je vous laisse essayer la proposition de JvDo (salutations) peut être que chez vous ce sera bon, car, en fait chez moi ce n'est pas bon.
Je vous laisse essayer la proposition de JvDo (salutations) peut être que chez vous ce sera bon, car, en fait chez moi ce n'est pas bon.
Bonjour Le Pingou
peut-être que cette solution marchera mieux :
Pour son utilisation : si le lien hypertexte (calculé ou manuel) est attaché à la cellule A9, le contenu de la cellule pointée par le lien sera obtenu par INDIRECT.EXT(adr_lien(A9)), même si le classeur cible est fermé.
Remarque : INDIRECT.EXT() est une fonction du package MoreFunc de Laurent Longre qu'il faut donc installer.
cordialement
peut-être que cette solution marchera mieux :
Function adr_lien(a As Range)
Application.Volatile
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
adr_lien = "pas de lien"
If a.Hyperlinks.Count > 0 Then
adr_lien = fso.GetAbsolutePathName(a.Hyperlinks(1).Address)
feuilcell = a.Hyperlinks(1).SubAddress
x = Split(adr_lien, "\")(UBound(Split(adr_lien, "\")))
adr_lien = Replace(adr_lien, x, "[" & x & "]" & feuilcell)
adr_lien = Replace(adr_lien, "'", "")
adr_lien = Replace(adr_lien, "!", "'!")
adr_lien = "'" & adr_lien
If feuilcell = "" Then adr_lien = adr_lien & "'"
Else
If Left(a.Formula, 11) = "=HYPERLINK(" Then
adr_lien = Evaluate(Mid(a.Formula, 12, InStr(12, a.Formula, ",") - 12))
adr_lien = Replace(adr_lien, "[", "")
xx = Split(adr_lien, "\")
xx((UBound(Split(adr_lien, "\")))) = "[" & xx((UBound(Split(adr_lien, "\"))))
adr_lien = Join(xx, "\")
adr_lien = Replace(adr_lien, "'", "")
adr_lien = Replace(adr_lien, "!", "'!")
adr_lien = "'" & adr_lien
End If
End If
End Function
Pour son utilisation : si le lien hypertexte (calculé ou manuel) est attaché à la cellule A9, le contenu de la cellule pointée par le lien sera obtenu par INDIRECT.EXT(adr_lien(A9)), même si le classeur cible est fermé.
Remarque : INDIRECT.EXT() est une fonction du package MoreFunc de Laurent Longre qu'il faut donc installer.
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour JvDo,
Merci pour cette proposition qui malheureusement ne fonctionne pas chez moi, que le lien hypertexte soit en valeur absolu ou relative.
Je ne sais pas si c'est le cas chez vous.
Je ne vais pas poursuivre sans réponse de zambrya... !
Salutations.
Le Pingou
Merci pour cette proposition qui malheureusement ne fonctionne pas chez moi, que le lien hypertexte soit en valeur absolu ou relative.
Je ne sais pas si c'est le cas chez vous.
Je ne vais pas poursuivre sans réponse de zambrya... !
Salutations.
Le Pingou
Bonjour,
Je crois comprendre que vous insérez systématiquement un lien hypertexte dans la colonne [A] dans le but d'accéder directement au fichier concernée, dans ce sens pourquoi ne pas en profiter pour insérer dans la colonne [B] directement la liaison avec la cellule de référence pour votre affichage SI(B....="oui";"soldé";""). Ce serait quand même plus simple, Non... !
Je crois comprendre que vous insérez systématiquement un lien hypertexte dans la colonne [A] dans le but d'accéder directement au fichier concernée, dans ce sens pourquoi ne pas en profiter pour insérer dans la colonne [B] directement la liaison avec la cellule de référence pour votre affichage SI(B....="oui";"soldé";""). Ce serait quand même plus simple, Non... !
Bonjour,
Je n'utilise pas les fonctions [Morefunc], cependant je vous laisse voir sous ce lien pour Excel 2010 il semble que cela doit marcher.
Et pourquoi la proposition du message 14 ne vous convient pas ?
Je n'utilise pas les fonctions [Morefunc], cependant je vous laisse voir sous ce lien pour Excel 2010 il semble que cela doit marcher.
Et pourquoi la proposition du message 14 ne vous convient pas ?
Merci pour ta réponse.
Je pense que j'ai mal expliqué.
En fait dans la fonction SI je veux remplacer 'C:\Users\XX\Desktop\[PA.xlsx] par A2. Je ne veux pas entrer le chemin. J'aimerais mettre A2 dans le formule et que ça tienne compte du contenu de la cellule A2. (en A2 se trouve le chemin)
Merci
Zambrya