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 :

Deux couleurs d'écriture avec formules dans les cellules


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Deux couleurs d'écriture avec formules dans les cellules
    Bonjour à tous,

    dans un fichier excel avec de nombreuses lignes, j'ai dans mes cellules:

    formule 1 & "+" & formule 2, après calcul cela m'indique par exemple: 1+10.

    je souhaiterai mettre le nombre 10 en rouge par exemple tout en laissant le 1 en noir par exemple grâce au VBA.

    Est ce possible?

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut couleur partielle
    Bonjour Raphl,

    Tout d'abord, sois le bienvenu sur ce Forum!

    Tu peux adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub ESSAI()
    Dim c As Range
     
    For Each c In Range("A1:A10")
            With c
                    'Pour n'obtenir que des valeurs
                    .Value = .Value
                    'Position du signe +
                    lim = WorksheetFunction.Find("+", c)
                    'Définition de la couleur choisie à partir de cette position
                    .Characters(Start:=lim + 1, Length:=Len(c) - lim + 1).Font.ColorIndex = 3
            End With
    Next c
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    pourquoi il ne peut pas lire la proprièté de worksheetfunction?

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    As-tu adapté l'adressage des cellules?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    par adressage tu entends onglet/classeur/cellule?

    en fait j'ai plus l'habitude de programmer du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for j= 1 to 50
    for i= 1 to 50
     
    cells(i,j).value=cells(i,j).value
     
    Next
    Next
    Alors je sais pas si j'ai fait les bonnes choses?

    en tout cas merci pour ton aide

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut adressage
    Tout dépend.

    Chaque proposition doit ensuite être adaptée par l'expéditeur du post.

    Ici

    signifie le balayage des cellules A1 à A10. A toi d'adapter.

    Si tu travailles sur plusieurs feuilles et que tu veux spécifier la feuille, tu écriras

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("mafeuille").Range("A1:A10")
    Et si plusieurs classeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("monclasseur.xls").Sheets("mafeuille").Range("A1:A10")
    Encore une fois, c'est à toi de voir.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    merci beaucoup à toi ca marche nikel

    bravo!!

    Néanmoins est ce possible de mettre deux couleur sans mettre la cellule en type valeur, en laissant la formule à l'intérieur?


    merci

  8. #8
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut couleurs et formulation
    Difficilement, du moins à mon - humble - niveau.

    Cependant tu peux générer une formule puis en figer le retour.

    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
    Public Sub ESSAI()
    Dim c As Range
     
    For Each c In Range("A1:A10")
            With c
                    '1er temps Formulation
                    .FormulaR1C1 = 'ta formule 
                    '2ème temps retour en valeur de cellule
                    .Value = .Value
                    'Position du signe +
                    lim = WorksheetFunction.Find("+", c)
                    'Définition de la couleur choisie à partir de cette position
                    .Characters(Start:=lim + 1, Length:=Len(c) - lim + 1).Font.ColorIndex = 3
            End With
    Next c
    End Sub
    Mais tu peux aussi utiliser les fonctions VBA en les affectant directement à tes valeurs de cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    '1er temps et 2ème temps simultanés
    .Value = CStr(.offset(0,3)) & "+" & CStr(.Offset(0,4))
    A adapter, bien entendu.

Discussions similaires

  1. Problème d'écriture de formule dans une cellule
    Par luksvibes dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2013, 09h46
  2. [XL-2007] Formules dans les cellules au lieu des résultats
    Par sdecre dans le forum Excel
    Réponses: 3
    Dernier message: 20/02/2013, 00h24
  3. Réponses: 2
    Dernier message: 29/06/2012, 16h13
  4. Changement de couleur dans les cellules d'un tableau
    Par allowen dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/11/2005, 14h52
  5. Réponses: 4
    Dernier message: 03/08/2005, 09h47

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