XL 2019 ajouter lien fichier dans une colonne

Pimprenelle9

XLDnaute Nouveau
Bonjour à tous,

je dois ajouter un lien vers un fichier dans une cellule (un vlookup serait bien aussi mais c'est un autre problème)

voici la macro crée mais ca ne fonctionne pas (je met le message d'erreur):


Un grand merci


For Line = 1 To number
Lineliste = Line + 3
If Range("C" & Lineliste) = "" Then

Fichier = Range("Mailsauto!A18") & Range("D2") & "\NC" & Range("D2") & "-" & Line '"C:\Users\xx\xx\xx\" & Range("B2") & "\NC" & Range("D2") & "-" & Line
Fichier = Fichier & ".xlsm"
'Range("B" & linelist).Value = Fichier

Set classeurSource = Application.Workbooks.Open(Fichier, , True) 'ouvrir le classeur source (en lecture seule)
Set classeurDestination = ThisWorkbook 'définir le classeur destination
MsgBox Fichier

ActiveSheet.Hyperlinks.Add Anchor:=Range("B" & linelist), Address:=Fichier, TextToDisplay:="Lien"

classeurSource.Close False
End If
Range("E" & Lineliste).FormulaR1C1 = DatePart("ww", Range("D" & Lineliste))
Range("F" & Lineliste).FormulaR1C1 = Month(Range("D" & Lineliste))
Range("G" & Lineliste).FormulaR1C1 = Year(Range("D" & Lineliste))

'Range("AJ" & Lineliste).Value = WorksheetFunction.VLookup(Range("AI" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("AO" & Lineliste).Value = WorksheetFunction.VLookup(Range("AN" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("AU" & Lineliste).Value = WorksheetFunction.VLookup(Range("AT" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("AZ" & Lineliste).Value = WorksheetFunction.VLookup(Range("AY" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("BF" & Lineliste).Value = WorksheetFunction.VLookup(Range("BE" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("BK" & Lineliste).Value = WorksheetFunction.VLookup(Range("BJ" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("BQ" & Lineliste).Value = WorksheetFunction.VLookup(Range("BP" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("BV" & Lineliste).Value = WorksheetFunction.VLookup(Range("BU" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("CB" & Lineliste).Value = WorksheetFunction.VLookup(Range("CA" & Lineliste).Value, Sheets("Feuil3").Range("A2:B40"), 2, False)
'Range("CG" & Lineliste).Value = WorksheetFunction.VLookup(Range("CF" & Lineliste).Value, Sheets("listenomsmail").Range("A2:B40"), 2, False)

Next Line

End Sub

1658744570167.png
 
Solution
Bonjour Pimprenelle,
Utilisez les balises </> pour le code, c'est plus clair. ( à droite de l'icone GIF )
Sans fichier test difficile de dire quoi que ce soit, sauf peut être que votre nom de fichier est erroné.
Essayez de ré activer la ligne :
VB:
'Range("B" & linelist).Value = Fichier
en supprimant le commenatire et en rectifiant la faute de frappe :
Code:
Range("B" & lineliste).Value = Fichier
En B3 vous devriez avoir le nom du ficher cible, est il correct ?
Tant qu'il ne le sera pas, inutile d'aller plus loin. Dans ce cas la faute serait dans la ligne
Code:
Fichier = Range("Mailsauto!A18").....

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pimprenelle,
Utilisez les balises </> pour le code, c'est plus clair. ( à droite de l'icone GIF )
Sans fichier test difficile de dire quoi que ce soit, sauf peut être que votre nom de fichier est erroné.
Essayez de ré activer la ligne :
VB:
'Range("B" & linelist).Value = Fichier
en supprimant le commenatire et en rectifiant la faute de frappe :
Code:
Range("B" & lineliste).Value = Fichier
En B3 vous devriez avoir le nom du ficher cible, est il correct ?
Tant qu'il ne le sera pas, inutile d'aller plus loin. Dans ce cas la faute serait dans la ligne
Code:
Fichier = Range("Mailsauto!A18").....
 

Pimprenelle9

XLDnaute Nouveau
le lien est bon, je l'affiche d'ailleurs dans une fenêtre pour vérifier

la ligne

VB:
ActiveSheet.Hyperlinks.Add Anchor:=Range("B" & linelist), Address:=Fichier, TextToDisplay:="Lien"


ne fonctionne pas, rien ne se met
effectivement ,apres avoir corrigé la faute de frappe, plus d'erreur type Range mais rien ne s'affiche dans la colonne b


rectification, ca fonctionne en mettant la ligne avant la définition des classeurs source et detination....
merci d'avoir repéré ma faute de frappe et d'avoir pris la peine de me répondre.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re
En PJ un essai qui marche avec :
VB:
Sub Inserer()
lineliste = 3
Fichier = "C:\Users\PC_PAPA\Desktop\XLD\noms d'onglets.xlsm"
ActiveSheet.Hyperlinks.Add Anchor:=Range("B" & lineliste), Address:=Fichier, TextToDisplay:="Lien"
End Sub
Remplacer le nom du fichier en dur comme moi, et testez. Normalement ça marche.
Si oui, c'est donc votre nom de fichier qui est erroné. ( problème de syntaxe, oubli des "\" ... )
 

Pièces jointes

  • Classeur1.xlsm
    13.8 KB · Affichages: 2

Discussions similaires