Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pb de macro de mise en forme

  • Initiateur de la discussion Initiateur de la discussion sandra69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sandra69

XLDnaute Nouveau
bonjour,

j'ai fait une macro pour changer la mise en forme d'une colonne, je veut que les nombres passe en format texte et ensuite remplacer les virgules par des points. Quand j'execute la macro les nombres passe en format texte mais mais les virgules sont tjs la.

Columns("C:C").Select
Selection.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=True


End Sub


aidez moi SVP car la jsuis bloquer 🙁

merci
 
Re : pb de macro de mise en forme

Salut Sandra69,

Pourquoi passer les chiffres en texte 😕

Il suffit de faire
Code:
Columns("C:C").Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, [COLOR=blue]MatchCase:=False[/COLOR], SearchFormat:=False, _
        ReplaceFormat:=False

Dans ton code, le MatchCase peut poser problème !

Voilà 😉
 
Re : pb de macro de mise en forme

la macro ne fonctionne pas les virgules ne sont pas remplacer.

Private Sub CommandButton3_Click()
Columns("C:C").Select
Selection.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
End Sub

Pour résumer je veu créer une macro qui met la colonne C en format texte et que les virgules soit remplacer par des points.

voila.
 

Pièces jointes

Re : pb de macro de mise en forme

merci pr votre réponse,
mais sa fonctionne pas, la macro s'execute pas et replace est surligner.

Private Sub CommandButton2_Click()
For Each cel In Range("C7:C" & Range("C65536").End(xlUp).Row)
cel.NumberFormat = "@"
cel.Value = Replace(cel.Value, ",", ".")
Next cel
End Sub
 
Re : pb de macro de mise en forme

Bonjour Sandra, PierreJean, Bruno

chez moi cette macro fonctionne parfaitement (Excel 2003), mais cela dépend sans doute du format d'entrée des données... Passe peut être par le convertisseur, => barre de menu => données => convertir...

bon après midi
@+
 
Re : pb de macro de mise en forme

Oui, cet étange !

Sinon voilà une autre solution, mais un peu plus longue 😀

Code:
Sub Remplace()
  Dim Cel As Range, DerLig As Integer, NewVal As String
  Columns("C:C").Select
  Selection.NumberFormat = "@"
  DerLig = Range("C65536").End(xlUp).Row
  For Each Cel In Range("C1:C" & DerLig)
    If InStr(1, Cel, ",") > 0 Then
      NewVal = Left(Cel, InStr(1, Cel, ",") - 1) & "." & Right(Cel, Len(Cel) - InStr(1, Cel, ","))
      Cel.Value = NewVal
    End If
  Next
End Sub

Voilà 😉
 
Re : pb de macro de mise en forme

re

je presume que Sandra est sous excel97

auquel cas la solution de Bruno devrait fonctionner

en effet pour autant que je le sache replace n'apparait qu'a partir de excel 2000
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…