Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 15h02   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 42
Points : 11
Points : 11
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 :
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
Kanetsugu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 15h44   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
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 ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 16h29   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 42
Points : 11
Points : 11
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)
Kanetsugu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 17h01   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Et le bouton il est sur quelle feuille ? Car tu utilises bien Sheets("Feuil1") pour ton For Each, mais pas pour ton AutoFill
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/12/2011, 06h56   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : mars 2011
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 42
Points : 11
Points : 11
Ah oui ... c'était ça l'erreur, la feuille n'était pas sélectionnée.

Merci pour ton aide !
Kanetsugu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h40.


 
 
 
 
Partenaires

Hébergement Web