Bonjour à tous,
Dans un classeur, au cours de l'exécution d'une macro, je mets à jour un tableau avec le code suivant, qui fait appel à une macro (voir ci-dessous) :
Il se trouve que ma variable s_Sheet peut contenir un tiret... et là... c'est le drame ...
Comme la copie avec liaison est une formule (=...), je pense qu'excel interprète le tiret comme l'opérateur moins (-), et du coup losqu'il arrive à l'application de la formule, excel me demande une mise à jour de valeur (ouverture fenêtre type 'enregistrer sous')
Si jamais vous avez une idée pour contourner mon problème, je suis preneur.
Merci par avance.
Cety64
Dans un classeur, au cours de l'exécution d'une macro, je mets à jour un tableau avec le code suivant, qui fait appel à une macro (voir ci-dessous) :
Code:
Call LinkCopy(s_Sheet, "$B$8", "C", i_row)
Il se trouve que ma variable s_Sheet peut contenir un tiret... et là... c'est le drame ...
Comme la copie avec liaison est une formule (=...), je pense qu'excel interprète le tiret comme l'opérateur moins (-), et du coup losqu'il arrive à l'application de la formule, excel me demande une mise à jour de valeur (ouverture fenêtre type 'enregistrer sous')
Code:
Private Sub LinkCopy(ByVal SourceSheet As String, SourceCell As String, TargetCol As String, ByVal TargetRow As Long)
' Copie avec liaison permettant la mise à jour en direct de la liste récapitulative
' SourceSheet : nom de la feuille Chassis Concernée
' SourceCell : référence de cellule source de la copie
' TargetCol : Colonne concernée par la recopie
' TargetRow : ligne en mise à jour sur la feuille récap
' Construction de la référence de la cellule cible et sélection
s_range = "$" & TargetCol & "$" & TargetRow
Range(s_range).Select
' Construction de la formule référence de copie avec liaison de la cellule source
s_Formula = "=" & SourceSheet & "!" & SourceCell
'application de la formule <=> copie avec liaison
ActiveCell.Formula = s_Formula
End Sub
Si jamais vous avez une idée pour contourner mon problème, je suis preneur.
Merci par avance.
Cety64