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 :

macro fonctionne dans l'editeur mais pas depuis une feuille [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 56
    Points : 43
    Points
    43
    Par défaut macro fonctionne dans l'editeur mais pas depuis une feuille
    Bonjour,

    Mon problème est le suivant:
    J'ai une macro qui fonctionne parfaitement lorsque je l'exécute depuis l'éditeur de macro. Mais lorsque je la lance depuis un bouton sur une feuille excel, elle ne fonctionne pas. Pourtant, avec des breakpoint je constate que toutes les lignes de codes sont exécutées.

    Quelqu'un aurait-il une solution ?
    Merci d'avance

    la macro en question :
    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
     
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
     
        With Sheets("Feuil1")
            Dim premiereLigne As Range
            Set premiereLigne = .Range("_PlanningPremiereLigne ")
     
            For Each Cell In premiereLigne
                Cell.formula = "=IF(RC41<>"""",RC21,0)" 'la formule est une version tronquée de l'originale
                Cell.Locked = True
            Next
     
        End With
     
        Range("AP7:MQ7").AutoFill Destination:=Range("AP7:MQ2150"), Type:=xlFillDefault
     
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

  2. #2
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Ca ne peut pas être qu'elle a marché correctement une première fois, mais que ça ne fonctionne pas la deuxième fois parce que tu as protégé ta cellule entre temps.

    Quand tu dis que toutes les lignes du code sont exécutées, c'est à dire que si tu mets un breakpoint, il s'y arrête bien quand tu appuies sur le bouton ? Dans ce cas pourquoi dis-tu que ça se passe mal ? Que manque-t-il ?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 56
    Points : 43
    Points
    43
    Par défaut
    La macro ajoute une formule dans des cellules, au départ, toutes les cellules sont vide.

    En lançant la macro depuis l'editeur, je constate après que toutes les cellules contiennent bien une formule.
    En lançant la macro par un bouton, seulement une partie a été effectuée (les cellules traitées dans le For each)

  4. #4
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Et le bouton il est sur quelle feuille ? Car tu utilises bien Sheets("Feuil1") pour ton For Each, mais pas pour ton AutoFill

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 56
    Points : 43
    Points
    43
    Par défaut
    Ah oui ... c'était ça l'erreur, la feuille n'était pas sélectionnée.

    Merci pour ton aide !

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

Discussions similaires

  1. Script qui fonctionne dans un onglet mais pas dans un popup
    Par lwolf dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/08/2012, 20h13
  2. Réponses: 11
    Dernier message: 09/09/2010, 02h53
  3. Réponses: 1
    Dernier message: 26/03/2009, 14h10
  4. Requete SQL BETWEEN fonctionne dans le bash mais pas dans mon script?
    Par ssc37 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/03/2009, 11h01
  5. [RegEx] Regex qui fonctionne dans un preg_replace mais pas dans un ereg
    Par méphistopheles dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2007, 11h56

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