Changer les liaison

candido57

XLDnaute Occasionnel
Bonjour,

Je souhaiterais changer une liaison en changeant uniquement 01.

J'ai actuellement ça comme macro

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sem$, w As Worksheet
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual 'pour accélérer
On Error Resume Next 'sécurité
sem = LCase([A1])
If Not sem Like "sem##" Then sem = "01": [A1] = sem
For Each w In Worksheets
w.Cells.Replace "]*'", "]" & sem & "'", xlPart
Next
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub

Qui pourrais me corriger cette macro

Merci
 

pierrejean

XLDnaute Barbatruc
Bonjour candido

Avec un petit fichier exemple on serait plus à l'aise pour t'aider
Une copie de ton fichier avec uniquement les éléments utiles a la bonne compréhension de ton problème serait bien
 

candido57

XLDnaute Occasionnel
=RECHERCHEV($C12;'\\FNOVLUX01\Vol2\Users\Operations\Production\General\Pointage\En cours\[RJ1904.xls]01'!$A$3:$FA$120;7;0)

01 correspond à nom d'un onglet et correspond aussi au premier jour du mois. >> Un onglet par date

Je veux mettre 01 sans une cellule et que toutes mes liaisons changent.

Merci
 

pierrejean

XLDnaute Barbatruc
Re
Si j'ai bien compris lorsque tu changes la date en B2 tu veux que dans tes formule le 01 soit remplacé
Mais par quoi ?
 

candido57

XLDnaute Occasionnel
Bonjour,
Si tu regarde la liaison 01 correspond au jour.
Par exemple si je mets le 2 avril, je souhaite changer 01 par 02 et ainsi de suite.
 

candido57

XLDnaute Occasionnel
Bonjour,

J'ai cette option, mais ça beug , ça ne fonctionne pas.

Qui pourrais m'aider. > Voir mon fichier

Merci

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sem$, w As Worksheet
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual 'pour accélérer
On Error Resume Next 'sécurité
sem = LCase([D1])
If Not sem Like "sem##" Then [RJ1904.xls] = "01": [D1]
For Each w In Worksheets
w.Cells.Replace "]*'", "]" & jj jjjj mmmm aaaa & "'", xlPart
Next
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
 

candido57

XLDnaute Occasionnel
Plus de précision, lorsque je change la date liste déroulante en B2, je souhaite par exemple si je met le 2 avril que le 01 (en gras ci dessous) changer en 02 et ainsi de suite.

=RECHERCHEV($C4;'\\FNOVLUX01\Vol2\Users\Operations\Production\General\Pointage\En cours\[RJ1904.xls]01'!$A$3:$FA$120;7;0)
 

Haut Bas