Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 11h24   #1
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
Par défaut Remplacer virgule par point

Bonjour,

Je veux automatiser le remplacement des virgules dans une feuille par un point.
J'ai essayé en enregistrant une macro, dont voici le code :
Code :
1
2
3
4
5
6
 
ThisWorkbook.Sheets("Output_Action").Select
    Cells.Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 11h38   #2
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Quel est le problème ?

plusieurs solutions :

Fonction Replace + boucle sur les cellules non vide ( à partir d'un CurrentRegion)
Utiliser Sendkeys et simuler les touches Ctrl+A Ctrl+H etc ...
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/01/2012, 11h41   #3
Membre Expert
 
Avatar de MarcelG
 
Homme Marcel GALANO
Développeur informatique
Inscription : juillet 2009
Messages : 644
Détails du profil
Informations personnelles :
Nom : Homme Marcel GALANO
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juillet 2009
Messages : 644
Points : 1 255
Points : 1 255
Par défaut remplacement

Bonjour Zangaloni,

"Vous pouvez répéter la question?"

Sinon, 2 remarques :
- Ces f.... Select sont à proscrire
- Mieux vaut resteindre ton champ d'action au maximum, du moins par élégance

(à adapter)

Code :
Sheets("Output_Action").Usedrange.Replace What:=",", Replacement:=".", LookAt:=xlPart
__________________

Bien Cordialement.

Marcel

Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


MarcelG est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/01/2012, 00h10   #4
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
comment utiliser le sendkeys ?
__________________
il faut être patient et ambitieux
bonne chance à tout le monde
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 07h30   #5
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Que cherches-tu à faire exactement avec sendkey? Le code de MarcelG ne fait il pas ce que tu souhaitais?

Si c'est par rapport au message de lelensois16, tu n'as pas d’intérêt à utiliser une telle méthodologie au sein même d'Excel, je dirais même au sein de la suite Office... conserve le code actuel .

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/01/2012, 12h21   #6
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
Bonjour Qwazerty,

j'ai bel et bien essayer le code mais ça ne marche pas, pas de changement sur ma feuille !!!ou plutot sur les nombre en virgule

par contre qu'on je fais manuellement CTR+H et je clique sur remplacer tout, ça marche.

C'est pourquoi je demandais, comment simuler les sensendkeys.

Bonne journée.
__________________
il faut être patient et ambitieux
bonne chance à tout le monde
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 18h54   #7
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...!!!

bonjour

chez moi si je tape par exemple 10.5 dans une cellule ca m'ecri 10,5

tout simplement parceque le format et a la base "standard" soit numerique
il faut bien utilise la fonction replace mais il faut metre le format de cellule au format "texte"
exemple

Code :
1
2
3
4
5
6
 
Sub change_le_point()
ActiveCell.NumberFormat = "@"
ActiveCell = Replace(ActiveCell, ",", ".")
 
End Sub
au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 21h57   #8
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
Bonsoir,
Afin d'adapter le code à mon besoin (remplacer la virgule par des points dans tout le classeur).
J'ai utiliser le code suivant :
Code :
1
2
3
4
5
6
 Sub change_le_point()
 
Sheets("Tableau de bord").Range("A1:HI400").NumberFormat = "@"
Sheets("Tableau de bord").Range("A1:HI400").Replace What:=",", Replacement:="."
 
End Sub
Mais ça n'a pas marché.
Par contre, ton code M. Patrick fonctionne pour l'active cell.
Y a-t-il quelque chose que j'ai omis ?
__________________
il faut être patient et ambitieux
bonne chance à tout le monde
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 22h28   #9
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonsoir zangaloni,

je pense que tu fait erreur sur la feuille, ton dernier code fonctionne le plus normalement je viens même de l'essayé.
__________________
Cordialement

Gestionnaire rh
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 23h38   #10
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
Je viens de réessayer mais en vain
merci d'avoir essayer quand meme
si tu peux m'envoyer une feuille avec le code dessus qui marche je te serai reconnaissant.
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 10h26   #11
Membre habitué
 
Avatar de zangaloni
 
Étudiant
Inscription : mars 2009
Messages : 464
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 464
Points : 114
Points : 114
Bonjour,

Je viens de faire un nouveau essai avec le code suivant et ça a marché :
Code :
1
2
Sheets(Feuil).Range("F2:X500").Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
Merci à vous et bon courage
zangaloni est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h31.


 
 
 
 
Partenaires

Hébergement Web