IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Extraction avant dernier item d'un lien hypertexte


Sujet :

Conception

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 61
    Points : 29
    Points
    29
    Par défaut Extraction avant dernier item d'un lien hypertexte
    Bonjour a tous
    je souhaite extaire les differents items d'un lien hypertexte afin de pouvoir interpréter dans une autre cellule la valeur obtenue.
    Par Exemple :
    j'ai en A1 mon lien hypertextedont le nom est Fiche_détaillée_FD1000_2500_058A.pdf

    Je souhaite extraire dans une cellule voisine la chaine FD1000,
    dans une autre cellule voisine la chaine 2500,
    puis dans sa voisine 058A.

    J'ai préalablement utilisé la formule suivante qui marche pour extraire la chaine aprés le premier underscore.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =stxt(A1;(cherche("_";A1;+1))+1;(cherche("_";A1;(cherche("_";A1;1))+1)-(cherche("_";A1;1))-1))
    mais je n'arrive pas a extraire la chaine pour afficher la chaine aprés le dernier underscore et/ou avant dernier underscore.

    Par contre cette formule ne marche que sur les chaines de caractères mais pas sur les lien hypertextes ce que je souhaiterais.

    Je suis dans le flou si quelqu'un pourais m'aider a trouver la solution ce serait top .

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, bonjour,

    préciser clairement la difficulté car comme un lien hypertexte est une chaîne de caractère, c'est vraiment flou !
    Et aussi comment est créé le lien hypertexte ?

    Facile en VBA, voir l'aide de la fonction Split par exemple …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 61
    Points : 29
    Points
    29
    Par défaut Extraction avant dernier item d'un lien hypertexte
    Bonjour, en cellule A1 il y a cette formule =si(ligne(A1)>nbval(TousFich);"";index(TousFich;Ligne(A1))).
    Un nom"TousFich" couvre toute la page et fait reference a =FICHIERS(chemin du repertoire ou lien UNC\*.*).

    Cet ensemble créé dans chaque cellule de la colonne A un lien hypertexte correspondant a chaque fichiers présent dans leur répertoire parent courant.

    Je cherche a extraire les differentes valeurs des items composants ce lien hypertexte.( par exemple le premier item, le 2 eme, l'avant dernier et le dernier ) ici noté dans les colonnes C D et E.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    					A				 B                C	         D                 	                        	 	
    1  =si(ligne(A1)>nbval(TousFich);"";index(TousFich;Ligne(A1)))		FD1000         2500             058A
     
    2 Fiche_détaillée_FD1000_2500_058A.pdf					FD1000	       2500	        058A
                    058A.
    Nom : fiche detaille.jpg
Affichages : 2664
Taille : 46,9 Ko


    merci

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Il y aurait certainement moyen de l'effectuer directement par formules
    mais une colonne supplémentaire serait nécessaire …

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub DemoA1()
        SP = Split(Split([A1].Value, ".")(0), "_")
        For C = 2 To UBound(SP):  Cells(1, C).Value = SP(C):  Next
    End Sub
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 61
    Points : 29
    Points
    29
    Par défaut Extraction avant dernier item d'un lien hypertexte
    Bonjour et merci de l'interet pour ce sujet
    c'est exactement cela que je voulais faire ( une colonne supplémentaire n'est pas un souci )
    Cependant j'essayait de trouver une solution sans macro car le format d'enregistrement est .xls et la fonction me renvoie une erreur quand j'enregistre au format excel 2010 .xlsm .

    Je ne suis pas reticent contre les macro, par contre je suis débutant.

    L'objectif étant de lier par autant de lien hypertexte tout les dossiers d'un répertoire courant et de décomposer sur chaque cellule voisine les valeurs qui composent le nom de cette chaine de caractère.


    Pour culture générale que veux dire

    - l'imbrication de split
    - le (0) et
    - la chaine (split([A1].Value,".")(0) dans la ligne split(split([A1].Value,".")(0),"_").

    Est ce que tu convertit en tableau la valeur de la chaine A1 avec le séparateur point et ensuite tu convertit en tableau cette meme valeur avec le séparateur underscore ?.
    Je ne cerne pas trés bien cette imbrication .

    Je vous remercie

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Le premier Split avec l'indice (0) correspond à ce qui précède le point
    et effectivement le second est un tableau de chaque chaîne séparée par l'underscore

    S'il y a un cador en formules de calculs passant sur cette discussion, ne pas hésiter à intervenir
    car je ne pourrais m'y coller sérieusement avant la fin d'après-midi
    et qui plus est pas vraiment sûr ma manière soit la meilleure …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Ben alors les cadors ? Alors on me laisse me ridiculiser par formules !
    Je préviens : il y a peut-être plus simple ou plus direct …

    Soit en A1 le nom du fichier, formule en

    • B1 =GAUCHE(A1;CHERCHE(".";A1)-1)

    • C1 =GAUCHE(B1;CHERCHE("_";B1)-1)

    • D1 =GAUCHE(DROITE(B1;NBCAR(B1)-NBCAR(C1)-1);CHERCHE("_";DROITE(B1;NBCAR(B1)-NBCAR(C1)-1))-1)

    • E1 =GAUCHE(DROITE(B1;NBCAR(B1)-NBCAR(C1&D1)-2);CHERCHE("_";DROITE(B1;NBCAR(B1)-NBCAR(C1&D1)-2))-1)

    Et à partir de la logique de cette dernière formule, facile de continuer les suivantes …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 61
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup marc-l cela marche a merveille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] PB ouverture lien hypertext dans requête access avec opération "dernier"
    Par kmisig dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/06/2013, 17h20
  2. Réponses: 3
    Dernier message: 19/07/2012, 14h38
  3. Extraction de la partie texte d'un lien hypertexte
    Par edsaar dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/03/2011, 09h17
  4. [Dojo] Ajouter nouveau item au position avant dernier dans tree(dojo 1.4)
    Par devkaty dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 22/03/2010, 10h02
  5. [FLASH 5] Comment créer un lien hypertexte
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 30/03/2006, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo