Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liaison concatener les noms fichiers

6 réponses
Avatar
Érico
Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1=2345-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la cellule
A1
='J:\Services\CHSLD\Groupe d''envoi 3\[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:\Services\CHSLD\Groupe d''envoi 3\[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico

6 réponses

Avatar
michdenis
Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:
Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico
Avatar
Érico
Non, c'est pas ça que je veux....

C'est plus que si je change le nom du fichier dans une cellule, ça change la
liaison automatiquement.

Merci quant même.

Il me semble avoir déjà eu une réponse là dessus.
Je vais chercher encore...



"michdenis" a écrit dans le message de news:

Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la
cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico





Avatar
michdenis
Bonjour Érico,

Place ceci dans le module feuille où l'action se déroule, en prenant soin d'adpter les variables.

si tu as plusieurs liaisons vers des classeurs différents... il y a toujours moyen de passer par la collections xllink

à chaque fois que tu vas modifier la cellule A1, la liaison va se modifier si le nom du classeur indiqué existe dans le chemin
mentionné.

'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Chemin As String
Dim VieuxChemin As String
Dim NouveauChemin As String

If Target.Address = Range("A1").Address Then
Chemin = "C:ATravail" 'A déterminer
VieuxChemin = Chemin & "Classeur1.xls" 'A déterminer
NouveauChemin = Chemin & Range("A1") & ".xls"
If Dir(NouveauChemin) <> "" Then
ThisWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks
Else
MsgBox "Le classeur indiqué en A1 n'existe"
End If
End If

End Sub
'------------------------------


Salutations!



"Érico" a écrit dans le message de news:
Non, c'est pas ça que je veux....

C'est plus que si je change le nom du fichier dans une cellule, ça change la
liaison automatiquement.

Merci quant même.

Il me semble avoir déjà eu une réponse là dessus.
Je vais chercher encore...



"michdenis" a écrit dans le message de news:

Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la
cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico





Avatar
Érico
Juste pour être sure de se bien comprendre, c'est toute la colonne "A" qui
comportent des noms de fichiers différents.

Exemple
A1= 1234-5678
A2= 3456-7890
A3C21-6543
etc....


"michdenis" a écrit dans le message de news:

Bonjour Érico,

Place ceci dans le module feuille où l'action se déroule, en prenant soin
d'adpter les variables.

si tu as plusieurs liaisons vers des classeurs différents... il y a
toujours moyen de passer par la collections xllink

à chaque fois que tu vas modifier la cellule A1, la liaison va se modifier
si le nom du classeur indiqué existe dans le chemin
mentionné.

'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Chemin As String
Dim VieuxChemin As String
Dim NouveauChemin As String

If Target.Address = Range("A1").Address Then
Chemin = "C:ATravail" 'A déterminer
VieuxChemin = Chemin & "Classeur1.xls" 'A déterminer
NouveauChemin = Chemin & Range("A1") & ".xls"
If Dir(NouveauChemin) <> "" Then
ThisWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks
Else
MsgBox "Le classeur indiqué en A1 n'existe"
End If
End If

End Sub
'------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Non, c'est pas ça que je veux....

C'est plus que si je change le nom du fichier dans une cellule, ça change
la
liaison automatiquement.

Merci quant même.

Il me semble avoir déjà eu une réponse là dessus.
Je vais chercher encore...



"michdenis" a écrit dans le message de news:

Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la
cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico










Avatar
michdenis
Bonjour Érico,

La difficulté principale de ton problème est lorsque tu modifies une cellule de la colonne A:A dans le but de modifier la liaison...
si ton classeur à plusieurs liaisons, il est impossible dans la manière que tu poses le problème de pouvoir associer quelle est la
liaison du classeur qui devrait être affectée par la nouvelle saisie en colonne A.

En résumé, comment associer la modification de la donnée en A1 et la liaison que tu voudrais modifier.

Peut-être que je n'ai rien compris à la donne du problème....



Salutations!




"Érico" a écrit dans le message de news:
Juste pour être sure de se bien comprendre, c'est toute la colonne "A" qui
comportent des noms de fichiers différents.

Exemple
A1= 1234-5678
A2= 3456-7890
A3C21-6543
etc....


"michdenis" a écrit dans le message de news:

Bonjour Érico,

Place ceci dans le module feuille où l'action se déroule, en prenant soin
d'adpter les variables.

si tu as plusieurs liaisons vers des classeurs différents... il y a
toujours moyen de passer par la collections xllink

à chaque fois que tu vas modifier la cellule A1, la liaison va se modifier
si le nom du classeur indiqué existe dans le chemin
mentionné.

'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Chemin As String
Dim VieuxChemin As String
Dim NouveauChemin As String

If Target.Address = Range("A1").Address Then
Chemin = "C:ATravail" 'A déterminer
VieuxChemin = Chemin & "Classeur1.xls" 'A déterminer
NouveauChemin = Chemin & Range("A1") & ".xls"
If Dir(NouveauChemin) <> "" Then
ThisWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks
Else
MsgBox "Le classeur indiqué en A1 n'existe"
End If
End If

End Sub
'------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Non, c'est pas ça que je veux....

C'est plus que si je change le nom du fichier dans une cellule, ça change
la
liaison automatiquement.

Merci quant même.

Il me semble avoir déjà eu une réponse là dessus.
Je vais chercher encore...



"michdenis" a écrit dans le message de news:

Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la
cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico










Avatar
Erico
Exemple

(Déjà inscrit)
A134-3456
A2456-6789
A334-5678

(Que je recopie)
B1=d:dossier1
B2=d:dossier1
B3=d:dossier1

(que je recopie)
C1=concatener B1+A1 (devrait être des liaisons)
C2=concatener B2+A2 (devrait être des liaisons)
C3=concatener B3+C3 (devrait être des liaisons)

Donc, si je copie la colonne des dossiers qui sont tous pareils et la
colonne A sont déjà tous inscrit, c'est plus facile de cette manière.

Etr voilà

"michdenis" a écrit dans le message de news:

Bonjour Érico,

La difficulté principale de ton problème est lorsque tu modifies une
cellule de la colonne A:A dans le but de modifier la liaison...
si ton classeur à plusieurs liaisons, il est impossible dans la manière
que tu poses le problème de pouvoir associer quelle est la
liaison du classeur qui devrait être affectée par la nouvelle saisie en
colonne A.

En résumé, comment associer la modification de la donnée en A1 et la
liaison que tu voudrais modifier.

Peut-être que je n'ai rien compris à la donne du problème....



Salutations!




"Érico" a écrit dans le message de news:

Juste pour être sure de se bien comprendre, c'est toute la colonne "A" qui
comportent des noms de fichiers différents.

Exemple
A1= 1234-5678
A2= 3456-7890
A3C21-6543
etc....


"michdenis" a écrit dans le message de news:

Bonjour Érico,

Place ceci dans le module feuille où l'action se déroule, en prenant soin
d'adpter les variables.

si tu as plusieurs liaisons vers des classeurs différents... il y a
toujours moyen de passer par la collections xllink

à chaque fois que tu vas modifier la cellule A1, la liaison va se
modifier
si le nom du classeur indiqué existe dans le chemin
mentionné.

'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Chemin As String
Dim VieuxChemin As String
Dim NouveauChemin As String

If Target.Address = Range("A1").Address Then
Chemin = "C:ATravail" 'A déterminer
VieuxChemin = Chemin & "Classeur1.xls" 'A déterminer
NouveauChemin = Chemin & Range("A1") & ".xls"
If Dir(NouveauChemin) <> "" Then
ThisWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks
Else
MsgBox "Le classeur indiqué en A1 n'existe"
End If
End If

End Sub
'------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Non, c'est pas ça que je veux....

C'est plus que si je change le nom du fichier dans une cellule, ça change
la
liaison automatiquement.

Merci quant même.

Il me semble avoir déjà eu une réponse là dessus.
Je vais chercher encore...



"michdenis" a écrit dans le message de news:

Bonjour Érico,

La concaténation que tu veux faire .... semble impossible ...!

Si tu veux modifier une liaison, voici comment tu dois t'y prendre :

'-------------------------------
Sub ModifierLiaison()

Dim VieuxChemin As String
Dim NouveauChemin As String

VieuxChemin = "C:ATravailClasseur1.xls"
With Worksheets("Feuil1")
NouveauChemin = "C:ATravail" & .Range("A1") & ".xls"
End With

ActiveWorkbook.ChangeLink VieuxChemin, _
NouveauChemin, Type:=xlExcelLinks

End Sub
'-------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour,

Avec des liaisons, comment on fait pour concatener le chemin des
répertoires?

Comme par exemple, une cellule contient le nom du fichiers sans liaison.

A1#45-4567
Son vrai nom est le 2345-4567.xls


Dans ceci, je veux lui demander de cherche le nom du fichier dans la
cellule
A1
='J:ServicesCHSLDGroupe d''envoi 3[2345-4567.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Comme par exemple:
='J:ServicesCHSLDGroupe d''envoi 3[A1.xls]ÉVALUATION
FONCTIONNELLE'!$E$66

Merci

Érico