Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1481 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Problème double macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Problème double macro

n°1883764
micaub
Posté le 12-05-2009 à 16:16:12  profilanswer
 

Bonjour à tous et excusez-moi de venir vous déranger pour mon problème. :jap:  
 
Je suis en train de créer un classeur Excel contenant plusieurs feuilles différentes les unes des autres, chacune contenant des tableaux. Sur certaines feuilles, j'ai rajouté du code pour effectuer différentes actions lorsque l'on modifie certaines cellules.
Voici en exemple le code de la feuille "Standard de développement" qui par la suite me posera problème :
 
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(ActiveCell, Range("F12:F40" )) Is Nothing Then
    If ActiveCell.Value = "Réalisé" Then
        ActiveCell.Offset(0, 1).Value = 1
    End If
ElseIf Not Intersect(ActiveCell, Range("G12:G40" )) Is Nothing Then
    If ActiveCell.Value = 1 Then
        ActiveCell.Offset(0, -1).Value = "Réalisé"
    ElseIf ActiveCell.Value <> 0 And ActiveCell.Value <> 1 Then
        ActiveCell.Offset(0, -1).Value = "En-Cours"
    End If
ElseIf Not Intersect(ActiveCell, Range("H12:H40" )) Is Nothing Then
    If ActiveCell.Value <> "" Then
        ActiveCell.Offset(0, -1).Value = 1
        ActiveCell.Offset(0, -2).Value = "Réalisé"
    End If
End If
End Sub

 
J'ai également rajouté un bouton sur la 1ère feuille qui déclenche une macro qui va nettoyer l'ensemble des tableaux se trouvant dans mon classeur.
 
Private Sub BoutonNouveauProjet_Click()
    Sheets("Standard de développement" ).Range("C9:L9" ).ClearContents
    Sheets("Standard de développement" ).Range("F12:L40" ).ClearContents
End Sub

 
Malheureusement, à chaque fois que j'effectue ma macro de nettoyage de tableau, j'assiste tout le temps à un message d'erreur (alors qu'auparavant, lorsque je n'avais pas mis de code sur la feuille "Standard de développement", il n'y avait aucun problème).
 
Erreur d'exécution '1004' :
La méthode 'Intersect' de l'objet '_Global' a échouée.
 
Je n'arrive pas à comprendre à quoi est dûe cette erreur. :pt1cable:  Quelqu'un serait-il en mesure de m'éclairer ?
 
D'avance merci à tous ceux qui auront eu la patience de me lire.
 
Cordialement.
 
MA

mood
Publicité
Posté le 12-05-2009 à 16:16:12  profilanswer
 

n°1884071
nathanc
Posté le 13-05-2009 à 11:50:19  profilanswer
 

Je pense qu'il faut spécifier chaque feuille a tes fonctions intersect...
Feuil1.intersect ....
Essaye de ne pas utiliser les activecells, cela fait perdre du temps à tes programmes

n°1884140
micaub
Posté le 13-05-2009 à 13:48:34  profilanswer
 

nathanc a écrit :

Je pense qu'il faut spécifier chaque feuille a tes fonctions intersect...
Feuil1.intersect ....
Essaye de ne pas utiliser les activecells, cela fait perdre du temps à tes programmes


Merci nathanc. J'ai tenté de résoudre en spécifiant chaque feuille à mes fonctions intersect en début de module, mais ça n'a rien donné...  :(  
Faute de mieux, j'ai contourné le problème avec Application.EnableEvents = False qui désactive l'exécution des autres macros pendant l'exécution de celle-ci. En attendant p-ê de trouver la raison du bug initial...
En revanche, on me dit en effet assez souvent qu'ActiveCell est à éviter si on ne veut pas perdre du temps... Mais par quoi puis-je le remplacer ?
Encore merci pour ton aide. :jap:  
Cordialement.
MA


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Problème double macro

 

Sujets relatifs
Problème balise objectProblème service pilot
[VBA] Collage format dateProblème avec le système de Don Paypal
Problème d'importation de bdd[Résolu] Problème d'échappement d'apostrophes
Probleme transparence sous IE[C] Probléme de récupération des données à travers ttyS (LINUX)
Problème de bannière flash sous IEProblème fusion cellule tableau html
Plus de sujets relatifs à : [VBA] Problème double macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR