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 :

executer la macro sur la cellule Active


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
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut executer la macro sur la cellule Active
    Bonjour j'ai une macro qui tourne bien et qui est activée dés que j'ai fini d'écrire dans une cellule mais cette macro fait une boucle

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Sub CouleursIndex()
        For i = 3 To 200
          For j = 1 To 20
           If Cells(i, j).Value = "" Or Cells(i, j).Value <> ED Or Cells(i, j).Value <> AF Or Cells(i, j).Value <> DP Or Cells(i, j).Value <> CB Or Cells(i, j).Value <> RO Or Cells(i, j).Value <> JPF Then
            Cells(i, j).Interior.ColorIndex = 0
            End If
            If Cells(i, j).Value = "PG" Then
             Cells(i, j).Interior.ColorIndex = 3
            End If
            If Cells(i, j).Value = "JPF" Then
             Cells(i, j).Interior.ColorIndex = 4
            End If
            If Cells(i, j).Value = "RO" Then
             Cells(i, j).Interior.ColorIndex = 5
            End If
            If Cells(i, j).Value = "CB" Then
             Cells(i, j).Interior.ColorIndex = 6
            End If
            If Cells(i, j).Value = "DP" Then
             Cells(i, j).Interior.ColorIndex = 7
            End If
            If Cells(i, j).Value = "AF" Then
             Cells(i, j).Interior.ColorIndex = 8
            End If
            If Cells(i, j).Value = "ED" Then
             Cells(i, j).Interior.ColorIndex = 9
            End If
              'Next Cells(i, j)
            Next
        Next
    End Sub
    je veux élminer la boucle pour activé la macro seulement sur la cellule active

    donc j'ai changé e'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, j).Value = "ED"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Value = "ED"
    et sa ne marche pas , pouriez vous me dire que ce qu'il faut faire

    d'avance Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Il est placé où, ton code ? Comment est-il lancé ?
    Ceci étant, pour dire Activecell, il faut qu'une cellule soit activée donc sélectionnée
    Si tu réponds à ma question, on peut peut-être te faciliter les choses...
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    mon code est palcé dans un module

    mais j'apal cett fonction a a partire de la "feuille 1"

    et le code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_Change(ByVal Target As Range)
      Call CouleursIndex
    End Sub
    quand je suis sur la "feuille 1" et dés que j'ai fini d'écrire sur une cellule la macro s'active et sa marche
    mai come elle fait une boucle sa prend un peut de temps c'est pas méchant
    mai je veux optimiser ce temps

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    je croi que c'est problème de lancement, par ce que quand je met le curseur sur une cellule et je lance la macro sa fonction bien


    la soulution est de lancer la macro dés que je commence a écrire dans une cellule et l'arreter a la fin de l'écriture, je ne saias s'il ya moyen de le faire


    merci ouskel'n'or

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dans
    Private Sub Worksheet_Change(ByVal Target As Range)
    '...
    End Sub
    Target est ta cellule. Pourquoi ne pas mettre simplement ton code à la place de '...
    Ou alors, envoie l'adresse de ta cellule à ta sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CouleursIndex(Target.address)
    je ne sais même pas si .address est indispensable dans ce cas là. Tu peux tester en l'enlevant
    Et dans ta sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CouleursIndex(Adresse)
    Range(Adresse)... cequetuveux
    End sub
    A+

Discussions similaires

  1. [XL-2010] Executer une macro sur plusieurs cellules
    Par niconiko dans le forum Excel
    Réponses: 10
    Dernier message: 22/09/2014, 10h48
  2. [E-07] Macro sur clic cellule
    Par stysa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/11/2008, 08h24
  3. clic sur une cellule active fonction recherche
    Par john63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2007, 21h48
  4. [VBA-E] Comment appliquer une macro sur plusieurs cellules
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/01/2007, 10h54
  5. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34

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