MA macro ne fonctionne qu'une fois

Bonjour,

Je réalise une macro permettant de collecter des données d'autres fichiers excel et réalisant des calculs.

Je suis confronté au problème que dans mon document il y a des points et je souhaite des virgules pour le calcul, au travers du forum j'ai trouvé la fonction Cells.Replace What:=".", Replacement:=".", mais celle-ci ne fonction qu'a la première exécution de ma macro, ensuite elle ne transforme plus les points en virgules.

J'ai joint les documents Excel, pourvez vous m'aider ?

Merci

13test-pour-forum.xlsm (105.95 Ko)

Bonjour,

J'ai juste survolé le sujet mébon déjà il y a quatre lignes qui ne doivent pas bien fonctionner :

'''''''''''''''''''
    Volume NomFichierInfoPatient
    oShName.Cells.Replace What:=".", Replacement:="."
    oShInfoGeneral.Cells.Replace What:=".", Replacement:="."
    oShGrain.Cells.Replace What:=".", Replacement:="."
    oShDVH.Cells.Replace What:=".", Replacement:="."

La bonne syntaxe est :

'''''''''''''''''''
    Volume NomFichierInfoPatient
    oShName.Cells.Replace What:=".", Replacement:=","
    oShInfoGeneral.Cells.Replace What:=".", Replacement:=","
    oShGrain.Cells.Replace What:=".", Replacement:=","
    oShDVH.Cells.Replace What:=".", Replacement:=","

Tu nous diras s'il faut creuser plus loin...

A+

Essaie ceci (par exemple)

Sheets("Feuil1").Columns(1).Replace ".", ","

le remplacement affecte toute la sélection

ici Sheets("Feuil1").Columns(1)

Merci de vos retours, le résultat est le même avec le "." ou avec ","

un petit test pour démontrer que cela fonctionne

par contre, cela reste en texte, il faut donc ensuite appliquer une conversion ou *1

Bonjour,

Oui cela fonctionne, mais qu'une seule fois dans mon fichier. il me faut fermer Excel puis ré-ouvrir pour de nouveau utiliser ma macro. Pourquoi ? Avez vous constater se problème avec mon fichier?

Merci de vos retours

Rechercher des sujets similaires à "macro fonctionne fois"