Modification de caractère en fonction de la valeur d'une cel

Bonjour à tous,

Je cherche un code VBA me permettant de modifier un caractère présent dans une formule.

Je m'explique:

Voici ma Formule:

=DECALER([CA_référence_04_2017.xlsx]Synthèse!$AF$133;0;A1;1;1)

En A1 se trouve le mois de ma référence à savoir: A1=4

Je voudrais faire une macro qui modifie mon caractère "4" dans mon lien de fichier [CA_référence_04_2017.xlsx]Synthèse! en fonction de ma valeur en A1

Ainsi quand je met 5 en A1 que quand je lance ma macro cela modifie ma formule comme ceci

=DECALER([CA_référence_05_2017.xlsx]Synthèse!$AF$133;0;A1;1;1)

Merci de votre aide

Bonne journée

Bonjour,

Tu peux construire ta référence dans une cellule et l'utiliser avec INDIRECT, mais dans ce cas je crois que la mise à jour ne se fait que si le classeur est ouvert.

Cordialement.

Merci MFerrand, pour ton aide, et en effet il faut que le classeur soit ouvert

C'est pourquoi je voulais savoir si il était possible de faire une macro qui me modifirait seulement le mois dans mon lien en fonction de la valeur que j'inscrirais dans ma cellule A1

Cela me permettrait ainsi de pouvoir modifier mes données sans à avoir mon classeur ouvert

Cordialement

Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim fml
    If Target.Address = "$A$1" Then
        fml = Split(Me.Range("E5").Formula, "_")
        fml(2) = Format(Target, "00")
        Me.Range("E5").Formula = Join(fml, "_")
    End If
End Sub

Remplacer E5 par la référence de la cellule qui contient la formule.

J'ai un problème au niveau de cette ligne

fml(2) = Format(Target, "00")

Excel me dit que l'indice ne fait pas partie de la sélection

Cela fonctionne seuleument si mon lien se trouve dans une cellule seul

Or mon lien fait partie d'une formule et cela ne fonctionne pas

Quel lien ? Il n'a été question que d'une formule à modifier !

On modifie le texte de la formule et on la remet en place !

Si tu as une erreur, c'est que tu n'as pas fourni la bonne formule (que le texte ne correspond pas à la formule indiquée).

Cordialement.

Finalement c'est bon je vais combiner la macro à la formule indirect c'est un bon complément.

Merci MFerrand pour ton aide

Bonne fin de journée

La question n'était pas de modifier la formule... Je ne comprends plus !

Rechercher des sujets similaires à "modification caractere fonction valeur cel"