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 :

Remplacer des noms par un code numérique [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    étudiant
    Inscrit en
    Janvier 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Remplacer des noms par un code numérique
    Bonjour,
    Mon problème est que je possède un tableau de données !
    Dans la colonne A, j'aimerais avoir des valeurs numériques mais quelques cellules ont des valeurs non numériques !
    Donc je souhaiterais remplacer toutes les valeurs non numériques de la colonne A par un code chiffré (par exemple :3120)
    J'aimerais obtenir un macro, si possible, svp ?
    Merci

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    une macro à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub non_num()
    Dim Dc As Range 'variable qui ira chercher la dernière cellule non vide
    Dim Plg As Range, cel As Range
    With Sheets("Feuil1") 'à remplacer par le nom de feuille réel
      Set Dc = .Range("A" & .Rows.Count).End(xlUp) 'dernière cellule
      Set Plg = .Range("A2", Dc) 'si la recherche commence en "A2"
      For Each cel In Plg
        If IsNumeric(cel) = False Then cel = 3120
      Next cel
    End With
     
    End Sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ....
      For Each cel In Plg
        If Not IsNumeric(cel) Then cel = 3120
      Next cel
    ......
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Et dans le cas où tu désire remplacer tous les codes à partir d'un code d'origine et en incrémentant de 1 :
    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
     
    Sub CodeNum()
     
        Dim Plage As Range
     
        'défini la plage sur la feuille active en colonne A et à partir de A1
        With ActiveSheet
     
            Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        'entre les deux premiers codes en cellule A1 et A2
        Plage(1).Value = 3120
        Plage(2).Value = 3121
     
        'prollonge jusqu'en fin de plage en incrémentant de 1 à chaque cellule
        Range(Cells(1, 1), Cells(2, 1)).AutoFill Plage, xlFillDefault
     
    End Sub
    Hervé.

  4. #4
    Membre à l'essai
    Homme Profil pro
    étudiant
    Inscrit en
    Janvier 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Bonsoir, Merci beaucoup messieurs de votre aide qui m'a été très utile. Cordialement

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

Discussions similaires

  1. [XL-2003] Remplacer des références par des noms de cellules dans des formules existantes
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/04/2010, 19h28
  2. remplacer les symbole dans des urls par leur code
    Par GoldenEyes dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 15/06/2009, 17h16
  3. [Conception] Remplacer des frames par du code PHP !!!!
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 07/04/2006, 08h54
  4. Remplacer des boutons par des menus déroulants?
    Par drthodt dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 17h37
  5. Réponses: 5
    Dernier message: 30/05/2005, 16h58

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