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 :

[VBA-E] probleme de couleur sous visual basic


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut [VBA-E] probleme de couleur sous visual basic
    Bonjour a tous, je cherche à creer une macro sous vb qui va me liste une colone d'excel et qui va me recopier certaines cellules dans une colone à coté, le truc c'est quele seul élément permettant de selectionner la cellule choisie et la couleur du texte (bleu), et je n'arrive pas a trouver la fonction correspondante....... je vous met mon code au cas ou....

    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
    Sub MacroTitre()
    Dim i As Integer
    Dim k As Integer
     
    For i = 1 To 400
        For k = 1 To 400
            If Range("A" & i).(ici je voudrai que la condition verifie que la couleur du texte est bleu) Then
                Range("A" & i).Select 
                Selection.Copy
     
                Range("D" & k).Select
                Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
     
        Next k
     
    Next i
    End Sub

    merci d'avance a tous

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ....Font.Color = vbBlue

  3. #3
    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 te manque un Endif avant " Next k"

    NB - Pour le code ce n'est pas Pièce jointe 3333 c'est Pièce jointe 3334

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut
    ok merci pour la syntaxe et les reponses, malheureusement je ne pourrai que tester demain au boulot

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut
    Bon ba voila j'ai essayé ms malheureusement ca ne marche pas
    la condition du if n'est pas satisfaite et il passe au endif.....

    je vous remet mon code que j'ai légèrement modifié....
    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
     
    Sub MacroTitre()
     
    Dim i As Integer
    Dim k As Integer
     
        For i = 1 To 400
     
     
        Range("A" & i).Select
     
        If Selection.Font.Color = vbBlue Then
     
        Selection.Copy
     
     
     
        Range("D" & i).Select
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
     
     
         End If
     
         Next i

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ecrit plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ..
        If  Range("A" & i).Font.Color = vbBlue Then
       ...
    ensuite il n'est pas sur que tu est le "bon bleu" ... pour vérifier dans ta feuille excel place le curseur sur une cellule ou les caractéres sont du bleu souhaité..puis bascule (alt F11) dans l'éditeur de macro et dans la fenêtre exécution (Ctrl G) saisi le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ? activeCell.Font.Color
    voilà ce que cela donne chez moi :
    Citation Envoyé par Ma fenêtre exécution
    ? activeCell.Font.Color
    16711680
    ?vbBlue
    16711680

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut
    En effet vous avez raison il s'agit du bleu ocean parcequ'en fait je fais des mise a jour de données (provenant d'internet).......
    il faut que j'essai de recuperer le code de cette couleur et je met le code a la place de vbBlue??

  8. #8
    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
    Oui, et si tu mets
    If Range("A" & i).Font.Color = vbBlue Then 'indiqué par bbil
    à la place de Selection.copy, mets

  9. #9
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par clarkk
    En effet vous avez raison il s'agit du bleu ocean parcequ'en fait je fais des mise a jour de données (provenant d'internet).......
    il faut que j'essai de recuperer le code de cette couleur et je met le code a la place de vbBlue??
    as tu essayé de récupér le numéro de couleur dans fenêtre exécution voir : #6

    sinon dans le cas ou tu n'est pas bleu..les autres cellules ont la fonte noire..? tu peu faire faire le test inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If  Range("A" & i).Font.Color <> vbBlack
    Citation Envoyé par ouskel'n'or
    Oui, et si tu mets
    à la place de Selection.copy, mets
    Ousk'.. à raison j'avais pas vu .. mais on peu faire mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("A" & i).Copy Range("D" & i)

  10. #10
    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
    Ça ne fonctionnerait pas si on mettait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If not Range("A" & i).Font.Color = vbBlack
    .........................

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut
    Tres tres bien vu j'y avais pas du tout penser et ca marche parfaitement...... merci

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Par défaut
    vu qu il y avait d'autre texte en couleur j'ai prefereé prendre le code couleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A" & i).Font.Color = (13395456) Then
    ca marche bien


    merci encore

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

Discussions similaires

  1. petit probleme de couleur sous visual basic
    Par clarkk dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/07/2006, 17h26
  2. [VBA-E]Débutant sous Visual Basic
    Par Mpierre dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2006, 15h32
  3. Réponses: 15
    Dernier message: 13/04/2006, 14h32
  4. [VB]Code couleur sous visual basic
    Par mauriiice dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/02/2006, 14h50
  5. Réponses: 4
    Dernier message: 31/01/2006, 18h59

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