Vba Problème avec formule

Résolu/Fermé
rochjl Messages postés 4 Date d'inscription mardi 14 décembre 2010 Statut Membre Dernière intervention 21 décembre 2010 - 14 déc. 2010 à 17:19
rochjl Messages postés 4 Date d'inscription mardi 14 décembre 2010 Statut Membre Dernière intervention 21 décembre 2010 - 16 déc. 2010 à 20:53
Bonjour,

je travail avec windows XP, Office 2007 .

j'ai un fichier excel contenant des formules.
dès le début de l'année un nouveau fichier est créé et j'aimerai que les formules soient mises à jour par rapport au fichier source de l'année en cours.

je ne sais pas si l'explication est bien claire mais par exemple la formule ci dessous fonctionne presque.

ActiveCell.FormulaR1C1 = _
"='M:\........\.......\........" & NomFichierEnergie & "CONTRÔLE DES SAISIES'!" & "l89c24"

le hic, c'est qu'au resultat à la fin de ma formule, la dernière partie est cernée de caractère " ' "c'est à dire 'l89c24' au lieu de l89c24.

comment faire?
merci pour toute réponse

J-Louis
A voir également:

2 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
15 déc. 2010 à 09:18
le problème vient que tu utilises les références relatives

"Formula R1C1" ce qui implique que les formules doivent être référencées par rapport à la cellule active. ( c'est lourd)
L'enregistreur l'utilise ... donc il faut faire attention
Utilise plutôt Formula

fais ce test sur la feuil2 en mettant une valeur en b10 sur la feuil1

Sub test2()
   Range("B3").Select
   valeur = 3
    ActiveCell.Formula = "=Feuil1!b10 *" & valeur
End Sub
0
rochjl Messages postés 4 Date d'inscription mardi 14 décembre 2010 Statut Membre Dernière intervention 21 décembre 2010
15 déc. 2010 à 20:14
Bonsoir Bidouilleu_R,


et merci pour cette réponse rapide.

je testerai dès que possible et vous tiendrai au courant.

Merci encore et bonne soirée.

J-Louis
0
rochjl Messages postés 4 Date d'inscription mardi 14 décembre 2010 Statut Membre Dernière intervention 21 décembre 2010
16 déc. 2010 à 20:53
Bonsoir Bidouilleu_R.


Ce que vous m'avez proposé fonctionne très bien mais ce n'était pas ce que j'attendais.

Je me suis mal exprimé, mais j'ai fini par trouver mon bonheur et ça marche nickel.
voici le code:

Sub procLiaison()
Dim strLink As String
Dim i As Integer
Dim varLinks As Variant

' Charge la liste des liaisons dans varLinks
varLinks = ThisWorkbook.LinkSources
' Nouveau chemin
strLink = "C:\Users\MOMO\Desktop\Horaire2010.xlsm\Horaire2010.xlsm"

If Not IsEmpty(varLinks) Then
' Boucle sur la liste des liaisons
For i = 1 To UBound(varLinks)
' Met le lien à jour.
ThisWorkbook.ChangeLink varLinks(i), strLink
Next i
End If

End Sub

Trouvé dans: Hardwear.fr

Merci tout de même pour votre aide, on n'en sait jamais trop.

Bon W-End,

J-Louis
0