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 :

Continuation d'une macro malgré une "valeur non trouvée"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    employé
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Par défaut Continuation d'une macro malgré une "valeur non trouvée"
    Bonjour,
    Je cherche à remplacer les cellules vides de chaque tableau figurant sur chaque feuille par un point. Il y a donc un tableau de données par feuille.
    J'ai créé la macro suivante qui fonctionne jusqu'à ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub remplcelvide()
    For sh_index = 1 To Sheets.Count
        Sheets(sh_index).Select
            Range("A1").Select
            Selection.SpecialCells(xlCellTypeBlanks).Select
            Selection.Replace What:="", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False        
    Next sh_index
    End Sub
    ... jusqu'à ce qu'un tableau ne comporte pas de cellule vide ! Et c'est la qu'est l'os, parce que le message n'est pas "une erreur" mais bien qu'aucune valeur n'a été trouvée dans ce tableau. En clair : il n'y a pas de cellule vide. Et patatra, la macro s'arrête.

    J'ai bien trouvé comment contourner une "erreur", par : On Error GoTo ErrorHandler mais dans mon cas, je dois juste passer à la feuille suivante si la macro ne trouve pas de cellule vide. Et je ne parviens pas à adapter ma macro pour y arriver.

    Un conseil ou une solution ? Je vous remercie déjà pour votre aide.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    La solution est simple : faire une recherche avant de lancer le Replace.

    Je me suis permis au passage de simplifier un peu ton code : les Select/Selection, c'est comme l'alcool, avec modération.
    Sauf que je n'ai pas compris ton Range("A1") (recherche limitée à une seule cellule ?) alors je l'ai remplacé par un UsedRange, mais il se peut que tu ais à corriger ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub remplcelvide()
    Dim sh_index As Worksheet, Zone As Range
    For Each sh_index in WorkSheets
        Set Zone = sh_index.UsedRange.SpecialCells(xlCellTypeBlanks)
        If Zone.Count > 0 Then Zone.Replace What:="", Replacement:="."
    Next sh_index
    End Sub
    Autre mise en garde : j'ai tapé ça à l'arrache sur le forum sans passer par le VBE et sans faire de test. Il y a donc peut-être du débugage à faire.

  3. #3
    Candidat au Club
    Homme Profil pro
    employé
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Par défaut Merci
    Merci, super ça fonctionne. Je prends bonne note du conseil.

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

Discussions similaires

  1. utiliser une macro dans une macro
    Par Calimero33 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2010, 17h48
  2. Ou est l'erreur - ou une différence entre une fonction et une macro ?
    Par Daranc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2009, 07h35
  3. Creer une macro via une macro
    Par GlasgowBoy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/05/2009, 14h54
  4. écrire le résultat d'une macro dans une cellule d'une feuille à choisir
    Par ririrourou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2008, 11h56
  5. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 10h21

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