Conflit entre procédure

fenec

XLDnaute Impliqué
Bonsoir le forum

Je reviens vers vous car comme le dit le titre j’ai un souci avec deux codes
Cela fait deux heures que je cherche en vain le pourquoi d’où mon recours aux spécialistes du vba.
1. Dans ma feuille banque j’ai un code pour colorer des cellules
2. Dans cette même feuille un bouton pour insérer des lignes

Si je désactive le code pour colorer les cellules, l’insertion de ligne s’effectue sans problème sinon celui-ci bloque sur :

Code:
.PasteSpecial xlPasteFormulas

Avec un message d’erreur d’excécution’1004’ :
La méthode PasteSpecial de la classe Range a échoué.

J’espère avoir été assez précis

Merci d’avance pour votre aide

Cordialement

Fenec
 

Pièces jointes

  • Conflit entre code.xls
    96.5 KB · Affichages: 32

Yaloo

XLDnaute Barbatruc
Re : Conflit entre procédure

Bonsoir fenec, Softmama,

Comme tu as une macro évènementielle, lorsque tu lances ta macro Insérer_lignes, la macro évènementielle se déclenche avant que tu ne copies tes formules, donc il n'y a plus rien à copier.


Il faut mettre :

VB:
Sub Insérer_lignes()
Application.ScreenUpdating = 0: Application.EnableEvents = 0

A plus

Martial
 

fenec

XLDnaute Impliqué
Re : Conflit entre procédure

Bonsoir Softmama,Yaloo

Merci à vous pour vos réponses rapide

Softmama désolé ca fonctionne pas

Martial super mais une petite question si tu permet,je pense que oui alors voila:

pourrais tu me dire la différence entre
Code:
Application.ScreenUpdating = 0
et
Code:
Application.ScreenUpdating = False

J'ai remis en plus en fin de code ta solution mais à 1 sinon l'évenementiel ne fonctionnait plus
Code:
Application.ScreenUpdating = 1: Application.EnableEvents = 1

A+

Philippe
 

Yaloo

XLDnaute Barbatruc
Re : Conflit entre procédure

Re,

Le False peut être remplacé par 0 et vice et versa, idem pour le True doit être remplacé par -1, le 1 fonctionne mais lorsque l'on regarde l'aide de Microsoft (dans certains cas) il est indiqué d'utiliser le -1.

Pour la ligne rajoutée à la fin je n'en avais pas parler mais bien sûr il faut la mettre.

A+

Martial
 

fenec

XLDnaute Impliqué
Re : Conflit entre procédure

Bonjour le forum, Martial

Je reviens car ayant les yeux un peu plus ouvert qu’hier soir j’ai remarqué que suite à la modification lorsque je clique sur n’importe quelle cellule hormis celle des colonnes que je colore, la protection de la feuille s’enlève. D’où ma question :

Comment faire pour que la protection reste active ?

Je joins mon fichier avec le code modifié

Cordialement

Philippe
 

Pièces jointes

  • Conflit entre code(2).xls
    98.5 KB · Affichages: 36

Yaloo

XLDnaute Barbatruc
Re : Conflit entre procédure

Bonjour Fenec, le forum,

C'est normal, tu mets ActiveSheet.Unprotect Password:="1012" avant ton If Not et tu mets ActiveSheet.Protect Password:="1012" avant ton End If.

Soit tu mets tes codes de protection et déprotection dans ta condition If soit tu les mets en dehors. Là tu as fait un panaché, et VBA n'aime pas le panaché ;)

A+

Martial
 

Discussions similaires

Réponses
5
Affichages
572

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22