Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplacement coordonnées dans liens

  • Initiateur de la discussion Initiateur de la discussion randle88
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

randle88

XLDnaute Junior
Bonjour

Je sollicite votre aide pour une petite manip que je ne parviens pas à réaliser

En fait, dans un fichier, j'ai, dans une cellule une reference à une autre cellule d'un autre classeur,

la formule est donc celle ci " =+'C:\BLABLA\XXXX\XXXX\XXXX\[PPP définitif 04.2012.xlsx]Synthèse'!C$6 "

Comme on peut le voir dans cette formule, le nom du classeur qui est recherché contient le mois en cours. Ici 04.

Pour le mois suivant, le fichier sera le même (tout comme la cellule) mais bien sur, le mois aura changé (05)
.
Je cherche donc un moyen (j'avais pensé à une liste avec les mois) pour ne pas toujours passer par "Ctrl + F" et remplacer "04" par "05"

Sachant que la complexité, je pense, reside dans le fait qu'il faille conserver la syntaxe du "lien"

Si vous avez des idées ...

Merci d'avance
 
Dernière édition:
Re : Remplacement coordonnées dans liens

Bonjour Randle88,

un essai

Code:
Sub test()
    linkarray = ActiveWorkbook.LinkSources(xlExcelLinks)
    For i = LBound(linkarray) To UBound(linkarray)
        If linkarray(i) Like "PPP définitif *.xlsx" Then
            Chem = Left(linkarray(i), InStrRev(linkarray(i), "\"))
            ThisWorkbook.ChangeLink linkarray(i), Chem & "PPP définitif " & Format(Date, "MM.YYYY") & ".xlsx", xlLinkTypeExcelLinks
        End If
    Next i
End Sub
 
Re : Remplacement coordonnées dans liens

Bonjour tototiti2008,

Merci tout d'abord pour ta réponse. En fait, je ne suis pas trop à la recherche de VBA pour effectuer cela.
De plus ce code modifie le lien en fonction de la date du jour non (du mois en l'occurence)? Ce n'est pas trop ce que je recherche.

Pensez vous qu'il serait possible de créer une liste avec tous les mois (01,02,03......) et ensuite effectuer un choix. Par la suite le mois serait modifier dans la reference de la cellule du classeur externe?

Merci d'avance
 
Re : Remplacement coordonnées dans liens

Re,

Sans VBA, ça risque d'être compliqué
La seule fonction qui permet de faire des liens "variables" est la fonction INDIRECT, et celle-ci ne fonctionne pas si le fichier cible est fermé.
Alors il est possible de trouver sur Internet une fonction INDIRECT.EXT qui fonctionne sur les fichiers fermés, mais qui nécessite d'installer une macro complémentaire (ce qui en passant signifie que cette fonction a été codée en VBA...)
Maintenant, je peux adapter ma proposition sur le choix d'un mois dans une liste déroulante (l'année ça pourrait être bien aussi) mais si tu trouves une possibilité sans VBA, ça m'intéresse (peut-être en macro XL4)
 
Re : Remplacement coordonnées dans liens

D'accord il me semblait bien que c'est compliqué voir impossible.

Concernant le VBA, je n'étais pas vraiment pour car ce fichier doit etre utilisé par plusieurs utilisateur qui ne maitrisent pas forcement ce langage. Moi même je début en VBA.

Concernant la possibilité d'associé ce code à une liste, cela m'interesse. Cependant, sans vouloir abuser de votre aide, serait il possible de créer un fichier test, pour que je vois exactement comment fonctionne la macro. EN effet je dois proceder à ce choix sur beaucoup de cellule sur le fichier, je souhaite donc comprendre exactement le fonctionnement et le benefice par rapport au traditionnel "Remplacer par"

Merci d'avance
 
Re : Remplacement coordonnées dans liens

tototiti2008,

Je pense que la macro que tu m'as donnée peut s'appliquer.

Cependant j'ai deux problèmes.

1er -> je voudrais ciblier les cellules qui doivent changer de liens, comment puis je faire cela? (elle ne bouge jamais)

2eme-> dans ce bout de code qui doit renommer le lien
Code:
ThisWorkbook.ChangeLink linkarray(i), Chem & "Extraction PCA définitif " & Range(1, 1) & ".2012" & ".xlsx", xlLinkTypeExcelLinks
Je n'arrive pas à lui dire de prendre la valeur de la cellule A1 par exemple (code faut mais je le laisse quand même.

Ça dans le but de faire ma petite liste déroulante avec tous les mois.

Merci d'avance
 
Re : Remplacement coordonnées dans liens

Bonjour randle,

essaye de remplacer

Code:
Range(1, 1)

par

Code:
Range("A1")

ou par

Code:
Cells(1,1)

Edit :

1er -> je voudrais ciblier les cellules qui doivent changer de liens, comment puis je faire cela? (elle ne bouge jamais)

Là ça change le lien de toutes les cellules, si ce n'est pas ce que tu veux, fournis nous un fichier avec un petit exemple
 
Re : Remplacement coordonnées dans liens

j'ai fais un petit fichier mais bien sur les liens sont morts (donc j'ai mis en texte).

Pour l'instant tout est OK sauf le "ciblage" des formules.

Merci en tout cas de prendre le temps de m'aider.
 

Pièces jointes

Re : Remplacement coordonnées dans liens

Re,

Cibler les liens, c'est pour quoi faire ?
Dans ton fichier, tu m'as mis en jaune toutes les cellules qui sont censées avoir un lien, donc si tu veux tout traiter, pas besoin de cibler, si ? je ne comprend pas bien

pour lancer ta macro au changement de valeur de A1, tu peux mettre dans le code de la Feuil1 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call test
    End If
End Sub
 
Re : Remplacement coordonnées dans liens

Bonjour,

En fait le fichier fonctionne comme cela (bien que un peu lent, je ne sais pas trop pourquoi).

Concernant le ciblage, c'est pour informations, si j'avais un fichier avec des liens (tous les mêmes) et certains à modifier et d'autres non.

C'était juste pour voir le cheminement,

En tout cas merci beaucoup pour ton aide !

PS : dans la macro que tu m'as fournie, les changements se font uniquement sur la feuille active? c'est ce que j'ai constaté mais je voudrais confirmation car dans le code il y a ActiveWorkbook (donc classeur?!) or ca ne change que dans la feuille active (ce qui me va très bien)
 
Dernière édition:
Re : Remplacement coordonnées dans liens

Bonjour Randle,

Le ciblage, je ne sais pas faire avec cette méthode, toutes les cellules du classeur qui utilisent ce lien sont mises à jour (dans tout le classeur normalement)
Je pense que pour cibler il faudrait envisager de remplacer dans les formules, comme tu le fais manuellement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…