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 :

modifier dans une plage toutes les cellules qui contiennent un mot précis en VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut modifier dans une plage toutes les cellules qui contiennent un mot précis en VBA
    Bonjour,

    Je veux modifier dans une plage d'un tableau toutes les cellules qui contiennent "#N/A" en "N/A" voilà le code que j'ai utilisé mais ça ne marches pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Range("a65536").Select
        dernière_ligne2 = Selection.End(xlUp).Row
        Range("A2:R" & dernière_ligne2).Select
        For Each Cell In Selection
        If UCase(Cell.Text) Like "#N/A" Then
        Cell.Text = "N/A"
        End If
        Next
    cdt,
    SKIP

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Application.ISNA(Range("C2")) Then
        cell = "N/A"
    End If
    Michel_M

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Remplacement
    Bonjour à tous,

    Ou, plus généralement,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
        Dim mescellules As Range
        Set mescellules = Range("A2:R" & Range("R65000").End(xlUp).Row)
        mescellules.Replace What:="#", Replacement:=""
    End Sub
    Tout dépend si le #N/A est le résultat d'une formule ou d'un collage spécial de valeurs.

    Cordialement

    Marcel

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

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


  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,
    Voilà, j'ai utilisé ce code et ça a marché.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Range("a65536").Select
        dernière_ligne = Selection.End(xlUp).Row
        Range("A2:R" & dernière_ligne).Select
        Selection.Replace What:="#", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Merçi comme même les amis vos codes m'ont beaucoup aidé.
    cdt,
    SKIP

  5. #5
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Select
    Bonsoir,

    Comme déjà dit, par d'autres et humblement par moi-même, VBA ne nécessite pas le process selection + action, que l'on obtient par l'enregistreur.

    En effet, la méthode action suffit. On obtient un code plus léger donc plus lisible, et sans doute plus performant.

    Ici, tu peux affecter celle de replace à tes cellules DIRECTEMENT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(macellule).Replace.....
    Cordailement.

    Marcel

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

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


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

Discussions similaires

  1. Réponses: 15
    Dernier message: 27/02/2014, 20h48
  2. Copier une plage et les objets qui sont dessus
    Par Amiral19 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/07/2007, 17h23
  3. Réponses: 1
    Dernier message: 16/05/2007, 15h52
  4. Réponses: 1
    Dernier message: 15/04/2007, 20h09
  5. Réponses: 2
    Dernier message: 30/05/2006, 14h58

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