VBA- nom (variable) de liaison à changer

Bonjour,

J'ai eu liaison qui se nomme "année 2012-2013", je veux la changer pour "année 2013-2014". En VBA naturellement.

Je peux en VBA changer les liaisons, pas de problèmes.

Je récupère l'année dans une variable annee=year(date)

Mais du moment que j'essaie d'y incorporer des variables, alors là rien ne fonctionne.

Mais je désire que 2012, 2013,2014.... soit une variable . Car, à chaque année, cela change. Cette procédure fait partie d'une plus grande procédure. Cette dernière crée un nouveau fichier à chaque année à partir de l'ancien, efface les données périmées, change la liaison et se sauvegarde sous le nouveau nom.

Tout se passe bien sauf le changement de nom de la liaison.

Je souhaite que cette création se fasse sans intervention manuelle.

Vos lumières sont bienvenues.

Claire

Bonjour,

la philosophie générale est :

Sub test()
strDeb = "='C:\Users\Utilisateur\Desktop\Documents\_EXC\[liaison_"
StrMid = CStr(Year(Date))
StrEnd = ".xlsx]Feuil1'!A1"
    ActiveCell.Formula = strDeb & StrMid & StrEnd
End Sub

Si insuffisant, fournir le code qui ne fonctionne pas (toute la macro hein... pas 3 lignes !).

A+

Bonjour,

Merci galopin01, cela fonctionne. Je ne connaissais pas la fonction Cstr.

Claire

Le CStr n'est pas essentiel car VBA ferait la conversion automatiquement.

Je ne l'ai mis que pour bien mettre en évidence que tu concatènes des chaines de caractères.

Ainsi si tu as une chaine du type "année 2012-2013" il faudra bien faire attention à ton StrMid.

Tu auras quelque chose du genre :

Sub test()
strDeb = "='C:\Users\Utilisateur\Desktop\Documents\_EXC\[liaison_"
StrMid = CStr(Year(Date)-2) & "-" & CStr(Year(Date)-1)
StrEnd = ".xlsx]Feuil1'!A1"
    ActiveCell.Formula = strDeb & StrMid & StrEnd
End Sub

ou encore :

Sub test()
strDeb = "='C:\Users\Utilisateur\Desktop\Documents\_EXC\[liaison_"
StrMid = Year(Date) - 2 & "-" & Year(Date) - 1
StrEnd = ".xlsx]Feuil1'!A1"
    ActiveCell.Formula = strDeb & StrMid & StrEnd
End Sub

A+

Rechercher des sujets similaires à "vba nom variable liaison changer"