Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Methode Replace dans Maro VBA

1 réponse
Avatar
pourem
Bonjour,

J'ai créé une macro sous excel 2003 qui utilise la méthode
Replace(What,Result,...).
Or cette fonction ne fonctionne pas comme je l'entends.
Ma macro a pour but de copier des feuilles vers un nouveau Workbook puis de
remplacer certaines valeurs par de nouvelles valeurs données par
l'utilisateur.
Le remplacement des données doit s'effectué dans toutes les feuilles du
nouveau Workbook.
Lors de l'éxécution de la macro, les données qui se trouvent dans des
cellules fusionnées ne sont pas remplacées.
Comment faire pour que le replacement s'effectue dans les cellules
fusionnées sans changer leur format ?

extrait du code:
Worksheets(Array(Sheet(2), Sheet(3))).Copy
Cells.Replace "anciennevaleur", "nouvellevaleur", xlWhole, xlByColumns


Merci par avance

1 réponse

Avatar
LSteph
Bonjour,

Encore ces maudites fusions!

Pour répondre tout de même à la question
regarde du coté de mergecells et mergearea


Si on veut compromettre l'usage des fonctions les plus élémentaires
d'excel faut pas se priver de ces m... de fusions.
Si ensuite on veut faire des choses un peu plus efficaces et gèrer
convenablement des données dans des tables, il est prudent d'abolir
l'usage des fusions.

Cordialement.

--
lSteph

("Pourfendeur des fusions")



pourem a écrit :
Bonjour,

J'ai créé une macro sous excel 2003 qui utilise la méthode
Replace(What,Result,...).
Or cette fonction ne fonctionne pas comme je l'entends.
Ma macro a pour but de copier des feuilles vers un nouveau Workbook puis de
remplacer certaines valeurs par de nouvelles valeurs données par
l'utilisateur.
Le remplacement des données doit s'effectué dans toutes les feuilles du
nouveau Workbook.
Lors de l'éxécution de la macro, les données qui se trouvent dans des
cellules fusionnées ne sont pas remplacées.
Comment faire pour que le replacement s'effectue dans les cellules
fusionnées sans changer leur format ?

extrait du code:
Worksheets(Array(Sheet(2), Sheet(3))).Copy
Cells.Replace "anciennevaleur", "nouvellevaleur", xlWhole, xlByColumns


Merci par avance