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 :

Replace s'applique à tout le classeur, pourquoi ? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 124
    Par défaut Replace s'applique à tout le classeur, pourquoi ?
    Bonjour,

    je souhaite utiliser la fonction replace sur la colonne I d'une feuille nommée "Comptes". L'objectif est de modifier une partie de la formule "RECHERCHEV".

    Voici le code utilisé ou du moins un extrait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim sh As Worksheet
    Set sh = Worksheets("Comptes")
     
    ' divers traitements
     
    With sh
     
            .Range("I9:I" & ligneDest).Replace What:=",15,", Replacement:=",5,", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
     
    End with
    Je m'attendais à ce que la fonction Replace s'applique à la feuille Comptes, colonne I. En réalité, elle s'applique à toutes les feuilles du classeur et toutes les colonnes...

    Résolu: j'ai constaté que sur un autre poste avec Windows 7, ça fonctionnait correctement. J'utilise Windows 8.1 et j'ai donc essayé le mode compatibilité => plus de bug. Sans le mode compatibilité, ça fonctionne de manière aléatoire, parfois ça bug, parfois non.

    Désolé pour le dérangement!

  2. #2
    Membre confirmé
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Par défaut
    Bonjour,

    Chez moi, sur Windows 8.1, le code s'exécute comme tu le souhaite en remplaçant le 15 de la colonne I par 5.

    Par contre, ta variable ligneDest, n'est pas définit dans le code que tu fournit. J'ai donc supposé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligneDest = Range("I" & Rows.Count).End(xlUp).Row
    Chtik

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 124
    Par défaut
    Ma variable était définie, mais comme c'est un code assez long, j'avais enlevé cette partie. Bref c'était pas un problème de codage puisque sans changer le code, le problème a disparu.

    Merci pour ton aide.

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour

    Tu as fort probablement fait juste avant une recherche ou un remplacement sur tout le classeur. Et les paramètres de cette recherche sont devenus les valeurs par défaut qui vont s'appliquer même à une recherche ou remplacement par VBA.

    Donc il faut faire une nouvelle recherche pour changer ces paramètres avant d'utiliser la fonction REPLACE.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Inutile = Worksheets(1).Range("A1:A1").Find("Inutile ", LookIn:=xlValues)

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

Discussions similaires

  1. variable visible dans tout le classeur
    Par onejock dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2008, 17h22
  2. Réponses: 2
    Dernier message: 19/05/2008, 13h37
  3. reperer doublon sur tout le classeur
    Par abdelace dans le forum Excel
    Réponses: 1
    Dernier message: 10/12/2007, 19h12
  4. Réponses: 6
    Dernier message: 01/05/2007, 22h03
  5. [VBA-E] Mise en page de tout le classeur avec nb feuill inconnu
    Par tonf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 15h25

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