Utiliser une cellule qui contient un chemin dans un fonction SI
Fermé
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
-
26 mai 2015 à 15:32
zambrya Messages postés 22 Date d'inscription mardi 26 mai 2015 Statut Membre Dernière intervention 17 juin 2015 - 1 juin 2015 à 15:13
zambrya Messages postés 22 Date d'inscription mardi 26 mai 2015 Statut Membre Dernière intervention 17 juin 2015 - 1 juin 2015 à 15:13
A voir également:
- Utiliser une cellule qui contient un chemin dans un fonction SI
- Fonction si et - Guide
- Comment utiliser un chromecast - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
7 réponses
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
26 mai 2015 à 23:23
26 mai 2015 à 23:23
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é";"")
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
27 mai 2015 à 17:55
27 mai 2015 à 17:55
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.
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
Modifié par Le Pingou le 28/05/2015 à 22:20
Modifié par Le Pingou le 28/05/2015 à 22:20
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
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
29 mai 2015 à 09:05
29 mai 2015 à 09:05
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
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
>
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
29 mai 2015 à 13:37
29 mai 2015 à 13:37
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
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
29 mai 2015 à 17:34
29 mai 2015 à 17:34
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.
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
30 mai 2015 à 17:42
30 mai 2015 à 17:42
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
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
Modifié par Le Pingou le 31/05/2015 à 22:57
Modifié par Le Pingou le 31/05/2015 à 22:57
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
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
1 juin 2015 à 08:46
1 juin 2015 à 08:46
Bonjour Le Pingou,
J'essaie les propositions ce matin.
Je suis désolée je n'ai pas eu le temps de regarder ce week end.
Je vous remercie déjà d'avoir pris le temps de vous pencher sur le sujet. Je reviens vers vous pour vous dire si les propositions fonctionnent.
Bonne journée
Zambrya
J'essaie les propositions ce matin.
Je suis désolée je n'ai pas eu le temps de regarder ce week end.
Je vous remercie déjà d'avoir pris le temps de vous pencher sur le sujet. Je reviens vers vous pour vous dire si les propositions fonctionnent.
Bonne journée
Zambrya
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
1 juin 2015 à 11:33
1 juin 2015 à 11:33
Bonjour Le Pingou,
J'ai voulu télécharger Morefunc, mais je me suis apperçue qu'il n'est compatible qu'avec Excel 95-2007. Je travaille sous Excel 2010..
Merci
Zambrya
J'ai voulu télécharger Morefunc, mais je me suis apperçue qu'il n'est compatible qu'avec Excel 95-2007. Je travaille sous Excel 2010..
Merci
Zambrya
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
1 juin 2015 à 11:33
1 juin 2015 à 11:33
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... !
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
1 juin 2015 à 13:50
1 juin 2015 à 13:50
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 ?
zambrya
Messages postés
22
Date d'inscription
mardi 26 mai 2015
Statut
Membre
Dernière intervention
17 juin 2015
1 juin 2015 à 15:13
1 juin 2015 à 15:13
Bonjour,
Effectivement je n'avais pas vu la réponse 14.
Cela me convient parfaitement.
Merci beaucoup pour votre temps.
Zambrya
Effectivement je n'avais pas vu la réponse 14.
Cela me convient parfaitement.
Merci beaucoup pour votre temps.
Zambrya
27 mai 2015 à 11:07
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
27 mai 2015 à 17:24