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 :

Probleme sur MFC


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut Probleme sur MFC
    Bonjour,

    J'ai un probleme sur une MFC, voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a As Integer
    a = 2
    While Not Cells(a, 1) = ""
        If Cells(a, 12) > 0 Then
        Range(Cells(a, 1), Cells(a, 14)).Selection.Font.ColorIndex = 3
        Else
        a = a + 1
        End If
    Wend
     
    End Sub
    J'ai un message d'erreur 438, "Proprieté ou methode non gérée par cet objet".

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    bonsoir

    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(a, 1), Cells(a, 14)).Selection.Font.ColorIndex = 3
    il faut supprimer selection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(a, 1), Cells(a, 14)).Font.ColorIndex = 3

    bonne soirée

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut
    Ca marche mais un autre probleme apparait, dés que je modifie une cellule de la colonne 12 la petite macro part dans un cycle infernale...surement du à la boucle.
    Je pense qu'il faudrait appliquer la boucle 1 seule fois apres modification d'une cellule. Car j'ai testé la macro "seule" et elle fonctionne tres bien, mais des que je l'installe dans une worksheet c'est la boucle infernale.
    Quelqu'un à une idée???

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Peut tu expliquer ce que doit faire ce code car effectivement une fois lancer la boucle ne s'arrête plus

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir, zyhack,

    laisse le analyser son propre code, réfléchir (sans même s'occuper de VBA) au déroulement de ce qu'il a écrit... et corriger l'emplacement de l'incrémentation de sa variable a ...
    Ce n'est pas du code, mais de la logique pure ...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bon

    dernier essai avant d'aller au dodo

    je pense avoir compris le système alors essaye ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim a As Integer
      a = 2
      While Not Cells(a, 1) = ""
        If Cells(a, 12) > 0 Then Range(Cells(a, 1), Cells(a, 14)).Font.ColorIndex = 3
        a = a + 1
      Wend
    End Sub
    la suite demain ...

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Citation Envoyé par zeralium
    mais des que je l'installe dans une worksheet c'est la boucle infernale.

    Indépendamment de l'erreur corrigée : regarde mes commentaires en rouge


    Citation Envoyé par zeralium Voir le message
    Bonjour,

    J'ai un probleme sur une MFC, voici le code:
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a As Integer
    a = 2 'tu démarres donc à 2
    While Not Cells(a, 1) = "" ' et si ta cellule 2:1 est différente de ""
        If Cells(a, 12) > 0 Then 'et que par hasard ta cellule 2:12 > 0 
          Range(Cells(a, 1), Cells(a, 14)).Selection.Font.ColorIndex = 3
           'tu changes la couleur, OK, mais pas la valeur de a
        Else
          'mais voilà : tu n'y passes pas si 2:12 > 0 ... et donc a reste = 2 
         a = a + 1
        End If
       'et tu reviens au départ, puisque la cellule 2:1 est toujours différente de ""
       ' et ainsi à l'infini
    Wend
    
    End Sub

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

Discussions similaires

  1. [MFC] probleme sur le destructeur
    Par sebpsi dans le forum MFC
    Réponses: 3
    Dernier message: 04/04/2008, 15h48
  2. [MFC] Probleme sur un CEdit
    Par sebpsi dans le forum MFC
    Réponses: 6
    Dernier message: 14/05/2007, 18h25
  3. [MFC] Probleme sur un combobox
    Par sebpsi dans le forum MFC
    Réponses: 3
    Dernier message: 06/05/2007, 12h02
  4. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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