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 :

Remplacement de nombres


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut Remplacement de nombres
    Bonjour,

    Alors j'ai deux problèmes dans mon classeur, je voudrais si c'est possible dans un premier temps, remplacer mon nombre : 01200 par un autre nombre 00200.
    Mon programme marche très bien sauf qu'il ne prend pas en compte les zéros quand il remplace mon nombre.
    Comment je peux faire ?

    Mon deuxième problème, c'est que j'aimerais bien modifier mon programme pour que celui-ci me prévienne quand je remplace en nombre qui n'existe pas, ou quand il a remplacé le nombre qu'il me mette un message : du genre " Remplacement réussit" ou " Ce nombre n'existe pas"

    Je vous remercie par avance !

    PS : je joins mon fichier

    Test.xls

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour brought,

    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Option Explicit
     
    Sub remplacement()
    Dim oRng As Range
    Dim i As Integer
    Dim oBool As Boolean
     
    With Worksheets("Feuil1")
        Set oRng = .Range("A1")
        oBool = False
        For i = 1 To .Columns(1).Find("*", , , , , xlPrevious).Row
            If oRng.Offset(i, 0) = 1200 Then
                oRng.Offset(i, 0) = 200
                oBool = True
            End If
        Next i
        .Columns(1).NumberFormat = "00000"
     
        If oBool Then
            MsgBox "Remplacement réussit"
        Else
            MsgBox "Ce nombre n'existe pas"
        End If
    End With
     
    End Sub
    Au lieu de passer par des nombres sous format texte, il est peut-être préférable de ne faire qu'un affichage avec les "0".

    Tu me diras !

    Cordialement,
    Kimy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut
    Merci Kimy pour le code,


    J'ai vraiment besoin de prendre les zéros en compte,excuse-moi pour la question mais je n'arrive à remplacer par exemple 200 par 0200 dans la macro. Cela ne le prend pas en compte.
    Je te remet le fichier avec le code :

    Test (1).xls

    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Peut-être comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Option Explicit
     
    Sub Macro1()
    Dim oRng As Range
    Dim i As Integer
    Dim oBool As Boolean
    Dim oStr_in As String
    Dim oStr_out As String
     
    oStr_in = "Ma valeur à remplacer"
    oStr_out = "Ma valeur de substitution"
     
    With Worksheets("Feuil1")
        Set oRng = .Range("A1")
        oBool = False
        For i = 1 To .Columns(1).Find("*", , , , , xlPrevious).Row
            If oRng.Offset(i, 0) = oStr_in Then
                oRng.Offset(i, 0).NumberFormat = "@"
                oRng.Offset(i, 0) = oStr_out
                oBool = True
            End If
        Next i
     
        If oBool Then
            MsgBox "Remplacement réussit"
        Else
            MsgBox "Ce nombre n'existe pas"
        End If
    End With
     
    End Sub

    Cordialement,
    Kimy

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut
    Merci Kimy ça marche comme il faut !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut
    Re,

    Désolé je viens de voir que quand je saisie par exemple une phrase pour la remplacer par un mot ou un nombre , cela ne fonctionne pas.
    Comment je peut faire pour ça?

    Merci encore

    Brought

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2010] Remplacer un nombre par le texte correspondant
    Par MrMeteo dans le forum SharePoint
    Réponses: 2
    Dernier message: 30/09/2014, 14h46
  2. Remplacer un nombre par une phrase
    Par sidstormy dans le forum Excel
    Réponses: 6
    Dernier message: 20/01/2012, 10h26
  3. Réponses: 6
    Dernier message: 27/05/2009, 22h14
  4. Label d'axe graphique: remplacer les nombres par des mots
    Par Chrysomallus dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/04/2007, 15h23
  5. [Regex]Remplacement d'un nombre indéfinie de motif
    Par gege2061 dans le forum Langage
    Réponses: 5
    Dernier message: 14/01/2006, 17h27

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