IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro pour supprimer les lettres d'une cellule?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro pour supprimer les lettres d'une cellule?
    Bonjour,

    voila j'ai des fichier Excel pour ma compta et j'aimerai faire une macro qui puisse supprimer tous les "EUR" dans les cellules

    Par ex j'ai une colonne avec des : 56,30EUR et je voudrai enlevé le "EUR" dans toute la colonne pour pouvoir les traiter en nombre et faire des opérations.

    Merci de votre aide

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Je suppose que les EUR ne sont pas uniquement dus au format d'affichage, et que tu as donc bien du texte dans ta cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub RemplacerEUR()
      Dim Plage As Range
      Dim Cellule As Range
     
      Set Plage = Range("a2:a100")
      For Each Cellule In Plage
        Cellule.Value = Replace(Cellule.Value, "EUR", "") * 1
      Next Cellule
    End Sub
    La plage est bien entendu à adapter à tes besoins
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour,
    2autres petites propositions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub test1()
    Range("a1:A500").Replace "EURO", ""
    End Sub
     
    Sub test2()
    Dim Cellule As Range
     
    For Each Cellule In Range("a2:a100")
      Cellule.Value = Val(Cellule.Value)
    Next Cellule
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé vos 2 propositions masi ca ne marche pas, il ne se passe rien

    J'ai du oublier de mentionné qq chose

    Le format de cellule est "standard"

    J'avais trouvé ça comme code sur Internet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub essai()
    Dim val1 As String
    Dim i As Long
    For i = 1 To Len(ActiveCell)
        If Asc(Mid(ActiveCell, i, 1)) > 47 And Asc(Mid(ActiveCell, i, 1)) < 59 Then val1 = val1 & Mid(ActiveCell, i, 1)
    Next
    ActiveCell = val1
    End Sub
    Ca enleve tout ce qui n'est pas un chiffre, mais il y a deux problemes

    * "5,30 EUR" devient "530"
    * et ce ne marche que pour une cellule, pas pour toute la colonne selectionnée

    Merci de votre aide

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour LittleSun l'ami mercatog & Pierre le forum en mettant le point a la place virgule colonne a adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
    Option Compare Text
    Sub es()
    Dim x As Variant, r As Long, c As Long
      Application.ScreenUpdating = False
         x = Range("a1:a" & Range("a65536").End(xlUp).Row).Value
         For r = 1 To UBound(x, 1)
         For c = 1 To UBound(x, 2)
               x(r, c) = Replace(x(r, c), "EUR", "")
               x(r, c) = Replace(x(r, c), ",", ".")
        Next c: Next r
      Range("a1:a" & Range("a65536").End(xlUp).Row).Value = x
    End Sub
    SALUTATIONS

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut
    Huuu, ça sentirait pas le vieux Troll ici ?
    Que personne ne prennent la mouche, je parle juste des "." et des ",", ça dépend il me semble de tes réglages linguistique de ton PC, donc méfiance.
    Tu peux aussi passer par une formule, comme celle ci, par contre tu aura le même problème avec les ".,"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(DROITE(K125;3)="EUR";CNUM(GAUCHE(K125;NBCAR(K125)-3)))
    Dans K125 ta valeur avec EUR, je me demande s'il y a pas une formule mieux que CNum, faudrait l'avis d'un développer de formule Excel confirmé ^^.
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [WD-2010] Comment installer une macro pour supprimer les sauts de paragraphe
    Par lendabee dans le forum Word
    Réponses: 3
    Dernier message: 07/03/2014, 09h54
  2. [XL-2007] Macro pour supprimer les espaces dans les cellules
    Par ab1to dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/11/2009, 16h25
  3. pour supprimer les doublons d'une table qcq
    Par lamjed dans le forum Oracle
    Réponses: 7
    Dernier message: 19/12/2008, 16h42
  4. [Formule]Macro pour masquer des formules dans une cellule
    Par Hellx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2007, 08h21
  5. Réponses: 12
    Dernier message: 04/03/2007, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo