Remplacer segment de formule par valeur d'une cellule nommée
Bonjour bonjour,
Il s'agit comme le précise le sujet de remplacer une partie d'une formule par la valeur présente dans une cellule nommée (procédure qui sera lancée par un bouton).
Feuille1: Information
En E2 cellule nommée NameNewBP contenant chaine de texte
Feuille2: Donnees
En B1 cellule nommée NameOldDBP contenant chaine de texte
Je souhaite remplacer dans chaque cellules de la plage A1:M180 de la feuille1 contenant dans sa formule la chaine de texte de la cellule nommée NameOldDBP, par chaine de texte de la cellule nommée NameNewBP.
De même, remplacer dans chaque cellule de la plage A1:F200
de la feuille2 contenant dans sa formule la chaine de texte de la cellule nommée NameOldDBP, par chaine de texte de la cellule nommée NameNewDP.
Toutes les cellules des plages ne sont pas concernées car ne contiennent pas toutes les formules concernées.
Ce remplacement devrait dans l'idéal, ignorer les deux cellules nommées NameNewBP et NameOldBP
J'ai fouillé et testé des dizaines d'idées postées sur ce forum et d'autres (merci d'ailleurs à tou(te)s les contributeurs éclairé(e)s), sans succès.
Je tourne autour du code ci-dessous depuis des heures, je sens que je ne suis pas loin, possiblement une erreur de syntaxe ?
Code:
1 2
| Cells.Replace What:="(""NameOldDBP", Replacement:="(""NameNewBP", LookAt:= _
xlPart, SearchOrder:=xlByRows |
Merci d'avance pour vos conseils, suggestions.
Remplacer segment de formule par valeur d'une cellule nommée
J'ai essayé ceci sous excel 2000
Code:
1 2
| Range("A1:F200").Replace What:="nameOldDPP", Replacement:="nameNewBP", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False |
pour moi c'est OK
à adapter à chacune de tes feuilles
bonne soirée.
PS : J'ai utilisé l’enregistreur de macro pour obtenir le résultat.
1 pièce(s) jointe(s)
Remplacer segment de formule par valeur d'une cellule nommée
Bonsoir et merci MarcelG et a_diard d'avoir porté intérêt à ma galère,
Le problème n'est pas tant de pointer sur la bonne zone à surveiller pour faire le remplacement, à part pour la récupération de la valeur des cellules nommées. j'ai testé ta proposition a_diard mais il ne se passe absolument rien.
Mais plutôt sur mon incapacité à créer la recherche de la valeur d'une plage nommée et le remplacement d'une partie de la formule par la valeur d'une autre plage nommée.
Valeur à chercher dans une feuille et valeur à remplacer dans autre feuille >> pour remplacer dans les deux feuilles.
Dans l'idéal ce serait vraiment vraiment bien que je n'ai pas à réécrire les formules par VBA... mais je vais quand même examiner cette proposition de concaténation en attendant d'autres idées et continuer à chercher de toutes façons. Je dois résoudre ça rapidement..
Il n'y aucun message d'erreur mais pas non plus d'action sur les feuilles concernées. Il ne se passe rien de rien
Merci d'avance...
PS : je viens de rajouter un fichier exemple si cela peut permettre de comprendre mes explications certainement peu claires :?
Remplacer segment de formule par valeur d'une cellule nommée
dans ton fichier la formule est :
il est normal qu'avec le code que je t'ai proposé ça ne marche pas
vu que je recherche
bonne soirée.
dans la macro remplace
Code:
1 2 3 4 5
| ="NEW blabla"
'par
="NEW" |
et teste à nouveau