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 :

Application.displayAlerts ne marche pas


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    statisticienne
    Inscrit en
    Mai 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : statisticienne
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2011
    Messages : 40
    Par défaut Application.displayAlerts ne marche pas
    Bonjour à tous,

    Je viens vers vous après m'être arrachée les cheveux sur une question... Arf.

    J'ai un fichier Excel Fichier1 dont les cellules contiennent des liens vers un onglet A d'un autre fichier Fichier2. Je fais une macro vba pour modifier Fichier1, et en particulier je remplace le texte du nom de l'onglet A par le texte du nom d'un autre onglet B du même Fichier2. (les cellules vers lesquelles je pointe sont au même endroit dans les deux onglets.

    Ca fonctionne très bien lorsque l'onglet B existe... Mais quand il n'existe pas, un message apparait me demandant quel onglet m'intéresse. Je clique sur "Annuler", le résultat d'avoir #REF! dans la cellule me convient bien, mais pas de devoir cliquer sur "Annuler" à chaque fois.
    Aussi j'ai tenté Application.displayAlerts=False, on error resume next, d'autres choses mais sans succès. La fenêtre apparait toujours.

    Voilà mon code simplifié au maximum:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub testRemplacer()
     
        Dim cellule As Range
        [B2:B5].Select
        Application.DisplayAlerts = False
        For Each cellule In Selection
            On Error Resume Next
            cellule.Replace What:="dataA", Replacement:="dataC", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        Next cellule
        Application.DisplayAlerts = True
     
    End Sub
    Et je joins 2 fichiers Excel qui montrent ce que j'essaie de faire :
    - test resultat.xlsm -> Fichier1 qui pointe vers Fichier2
    - data.xlsx -> Fichier2
    data.xlsxtest resultat.xlsm

    Je vous remercie d'avance pour toute piste...!!

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    commencons par virer la boucle for each qui ne sert a rien


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Application.DisplayAlerts = False
    Range("B2:B5").Replace What:="DataA", Replacement:="DataC", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Application.DisplayAlerts = True
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre actif
    Femme Profil pro
    statisticienne
    Inscrit en
    Mai 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : statisticienne
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2011
    Messages : 40
    Par défaut
    Merci pour ta réponse,

    j'ai toujours le même message qui apparait :
    Nom : Capture msg vba.PNG
Affichages : 1547
Taille : 15,0 Ko

    comment faire pour :
    - soit cliquer "automatiquement" sur Annuler -> #REF! dans la cellule
    - soit décider de ne pas remplacer quand ce message apparait
    ... Avez-vous une idée ?

    Merci !

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Tout simplement en indiquant la feuille dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets("Tafeuille").Range("B2:B5").Replace What:="DataA", Replacement:="DataC", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre actif
    Femme Profil pro
    statisticienne
    Inscrit en
    Mai 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : statisticienne
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2011
    Messages : 40
    Par défaut
    Merci !!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/08/2010, 09h44
  2. une application qui ne marche pas de la meme facon
    Par Msysteme dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/06/2010, 15h59
  3. [XL-2003] Application.workbooks("") ne marche pas
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/05/2010, 18h20
  4. Ma première application BDD ne marche pas
    Par AMR_AMR dans le forum NetBeans
    Réponses: 4
    Dernier message: 09/01/2009, 14h48
  5. Réponses: 0
    Dernier message: 29/09/2008, 04h28

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