Bonjour,
C'est toujours un réel plaisir de venir s'instruire sur ce forum !
Voilà plusieurs années que j'utilise la combinaison macro PERSONAL.XLA + fichiers en xlsx client + base de données en xls pour produire des documents pour des clients sous Office 2013. Depuis plusieurs mois, je me heurte à un problème que je n'arrive pas à résoudre.
En effet, il arrive que ma bdd en .xls s'ouvre en plein travail et mes liaisons sautent et donnent lieu à des #REF! Ce que je ne comprend d'ailleurs pas pourquoi...
Et pour résoudre ce problème, je souhaite remettre ces liaisons et le seul moyen qui fonctionne c'est de passer par CTRL+H, et de modifier !#REF!;E par !$A:$IV;E et #REF!;E par $A:$A;0 :
=SI(C5099<>"";INDEX('L:\Chiffrages\[Code profilés.xls]Accessoires'!#REF!;EQUIV(C5099;'L:\Chiffrages\[Code profilés.xls]Accessoires'!#REF!;0);2);"")
=SI(C5099<>"";INDEX('L:\Chiffrages\[Code profilés.xls]Accessoires'!$A:$IV;EQUIV(C5099;'L:\Chiffrages\[Code profilés.xls]Accessoires'!$A:$A;0);2);"")
Mais en passant par cette macro, cela ne fonctionne pas :
Application.ScreenUpdating = False
Cells.Replace What:="!#REF!;E", Replacement:="!$A:$IV;E"
Cells.Replace What:="!#REF!;0", Replacement:="!$A:$A;0"
Application.ScreenUpdating = True
Alors que si j'enlève le ;E ou le ;0, cela fonctionne !
Y a t il un moyen de signaler ce ; correctement à vba ?
Je vous remercie pour votre réponse.
JLE
C'est toujours un réel plaisir de venir s'instruire sur ce forum !
Voilà plusieurs années que j'utilise la combinaison macro PERSONAL.XLA + fichiers en xlsx client + base de données en xls pour produire des documents pour des clients sous Office 2013. Depuis plusieurs mois, je me heurte à un problème que je n'arrive pas à résoudre.
En effet, il arrive que ma bdd en .xls s'ouvre en plein travail et mes liaisons sautent et donnent lieu à des #REF! Ce que je ne comprend d'ailleurs pas pourquoi...
Et pour résoudre ce problème, je souhaite remettre ces liaisons et le seul moyen qui fonctionne c'est de passer par CTRL+H, et de modifier !#REF!;E par !$A:$IV;E et #REF!;E par $A:$A;0 :
=SI(C5099<>"";INDEX('L:\Chiffrages\[Code profilés.xls]Accessoires'!#REF!;EQUIV(C5099;'L:\Chiffrages\[Code profilés.xls]Accessoires'!#REF!;0);2);"")
=SI(C5099<>"";INDEX('L:\Chiffrages\[Code profilés.xls]Accessoires'!$A:$IV;EQUIV(C5099;'L:\Chiffrages\[Code profilés.xls]Accessoires'!$A:$A;0);2);"")
Mais en passant par cette macro, cela ne fonctionne pas :
Application.ScreenUpdating = False
Cells.Replace What:="!#REF!;E", Replacement:="!$A:$IV;E"
Cells.Replace What:="!#REF!;0", Replacement:="!$A:$A;0"
Application.ScreenUpdating = True
Alors que si j'enlève le ;E ou le ;0, cela fonctionne !
Y a t il un moyen de signaler ce ; correctement à vba ?
Je vous remercie pour votre réponse.
JLE