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-E2003] Colorier des cellule sélectionnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut [VBA-E2003] Colorier des cellule sélectionnée
    Bonjour à tous,

    et au passage félicitation pour le transfert sur le nouveau forum c'est plutot réussi

    Voilà pour moi : j'ai l'habitude de programmer en vba sous access mais je ne l'ai jamais fait sous excel et voilà la galère du débutant qui recommence.

    mon premier problème
    : J'aimerai créer un bouton qui, après un clic, me coloriera les cellules de mon tableurs que j'aurais préalablement sélectionnées. et ne j'ai absolument aucune idées sur la façon de procéder.

    Aussi j'imagine qu'il existe des codes pour chaque couleur donc si quelqu'un les a je le remercie d'avance de les poster sur le forum.

    A bientôt (oui oui je vais revenir vous embêter plus souvent désormais )

    Merci encore

    Thomas

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    Regarde déjà à cette adresse si le code fourni par bbil te donne des idées

    http://www.developpez.net/forums/sho...cellule+select
    Tu nous diras ensuite sur quoi tu cales...
    A+

  3. #3
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Merci ouskel'n'or, j'étudie celà de suite et je vous tiendrai au courant..

  4. #4
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Woua yiailla !!!

    ça m'a l'air bien chaud tout ça... j'ai l'impression de na plus rien connaitre à la programation. vivement que je retourne sous access.

    Moi ce que je souhaite c'est :
    • vérifier si une sélection est active
    • changer la couleur des cellules sélectionnée
    Donc en gros : comment sait on s une sélection est courante ? (range ????) et comment modifie t-on celle ci ?

    Merci encore.

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu peux tester l'adresse de la cellule active dans le code de la feuille de calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
     msgbox Target.address
    end sub
    A partir de là, tu testes l'adresse, si c'est la bonne, tu collories...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if Target.address = range(Cells(NoLigne,NoColonne)).address then
            Range(Target.address).Font.ColorIndex = 3
    endif
    C'est à toi de définir NoLigne, NoColonne et ColorIndex.
    Tu penses pouvoir t'en sortir ?

    Tu dis

  6. #6
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Décidément... je n'y comprend plus rien à la prog...

    Si je comprends ce que tu as écris, on ne peut pas connaitre les cellules sélectionnées car dans mon cas elle changeront tout le temps ....

    Ces cellules seraient donc ma cible (Target) ??

    Aussi peux tu m'expliquer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ByVal Target As Excel.Range
    C'est ma sélection ???

  7. #7
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    ben la sélection courante est contenu dans l'object selection tiens un peu de code plus approprié à ton probléme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub test()
    Dim c As Range
    If TypeName(Selection) = "Range" Then
    For Each c In Selection
     If c < 0 Then c.Interior.Color = vbRed
     If c > 10 Then c.Interior.Color = vbBlue
     If c = 100 Then c.Interior.Color = RGB(0, 255, 0)
    Next
    End If
     
    End Sub

  8. #8
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Merci bbil, ça fonctionne à peu près

    Pouvez vous m'expliquer à quoi correspond la clause RANGE ??? Histoire que j'y vois un peu plus clair ?

    Merci

    thom

  9. #9
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Je suppose que tu veux placer ton bouton sur ta feuille. Auquel cas, ton code doit être placé dans le click du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CommandButton1_Click()
        MsgBox ActiveCell.Address 'juste pour que tu aies une idée
    End Sub
    et le clic du bouton (deux clics sur le bouton en mode création) te place dans la feuille de code de la feuille de calcul
    Là, tu peux faire le test de bbil
    Citation Envoyé par qui
    tiens un peu de code plus approprié à ton probléme
    Merci bbil

    A+

  10. #10
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par 973thom
    Merci bbil, ça fonctionne à peu près

    Pouvez vous m'expliquer à quoi correspond la clause RANGE ??? Histoire que j'y vois un peu plus clair ?

    Merci

    thom
    dans ce cas range est un objet .. :
    Citation Envoyé par Aide en ligne excel
    Représente une cellule, une ligne, une colonne ou une sélection de cellules contenant un ou plusieurs blocs contigus de cellules ou une plage 3D.
    le test effectué par la fonctionTypeName, permet d'être sur que la sélection est bien un range, et pas un graphique par exemple...

  11. #11
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    ok,

    merci à tout les deux pour votre aide et votre rapidité d'action... je commence à y voir un peu plus clair !

    Demain je m'y remet et je vous tiens au courant...

    Ben oui je parts me baigner dans le plus beaux lagon du monde , j'ai fini le boulot pour aujoud'hui!

    @ demain donc

  12. #12
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    -12.779444 / 45.227222... Sud ? Je n'ai pas la carte du monde mais ce ne dois pas être loin de la Nouvelle Calédonie...

  13. #13
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par ouskel'n'or
    -12.779444 / 45.227222... Sud ?
    Vi m'sieu (m'dame ???) !!
    Citation Envoyé par ouskel'n'or
    Je n'ai pas la carte du monde mais ce ne dois pas être loin de la Nouvelle Calédonie...
    ça fait qd même qq kilomètre ...

    Look at this !


    Bon c'est pas le tout !!!! j'y retourne à ma prog excel !!

    Sûrement à tout à l'heure

    Thomas

  14. #14
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    c'est bon j'arrive à peu près à faire ce que je veux.

    une autre question cependant :

    Comment modifier la couleur du texte de la cellule ???
    J'ai essayer avec plusieurs paramètres mais visiblement ce ne sont pas les bons (pattern, patterncollor, PatternColorIndex ...)

    Merci

  15. #15
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    ben avec l'enregistreur de macro ..., tu aurai trouvé ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 26/04/2006 par bbil
    '
        Selection.Font.ColorIndex = 3
    End Sub
    tu as aussi la propriété color

  16. #16
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par Tu
    ça fait qd même qq kilomètre ...
    Oh, tu sais, vu d'ici...

    Tu en es où ?

  17. #17
    Membre régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par ouskel'n'or
    Oh, tu sais, vu d'ici...

    Tu en es où ?
    Ben ma foie ça fonctionne à peu près comme je veux. Pour un début se sera bon comme ça...
    J'arrive à affecter une couleur + texte en fct du type de journée à passer (gestion de l'agenda de ma boîte), aux cellules sélectionnées.

    Reste à faire des restrictions en fonction des utilisateurs (en théorie chacun ne devrait s'occuper que de sa collone)mais là ça va pas être de la tarte...

    Un grand merci pour le coup de main



    thom

Discussions similaires

  1. [XL-2002] Code VBA pour colorier des cellules à partir de plusieurs critères
    Par NoodleDS dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2013, 22h05
  2. [VBA-E] Colorier des cellules
    Par GI_GI dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/01/2007, 22h47
  3. [VBA-E] Comparer des cellules
    Par lutin06 dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 28/04/2006, 16h24
  4. [VBA-E]Remplir des cellules vides par des 0
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/03/2006, 13h58
  5. [VBA-E]supprimer des cellules vide
    Par garn dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/02/2006, 11h56

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