Donner une forme particulière à des cellules Excel

beboire

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je me permets de lancer un topic sur le forum car comme vous vous en doutez j'ai besoins de votre expertise!

En effet, dans le cadre de mes études, j'aurais aimé faire une mise en page en forme de lettres (P, D, C, Q, S). Chacune de ces lettres seraient composées de 52 cellules modifiables. Et chaque cellule pourrait voir sa couleur modifiée (Vert, Orange, Rouge). C'est un fichier qui va permettre par la suite d'avoir un suivi visuel des indicateurs de la semaine.

J'ai joins à ce message un fichier Word qui illustre ce que j'aimerais faire sous Excel afin que vous compreniez un peu mieux ce que j'ai en tête

Ayant cherché partout avec l'ami Google, je suis resté sans réponses... Je compte sur vous pour pouvoir m'apporter un peu d'aide!

Merci d'avance!

Grégoire
 

Pièces jointes

  • Exemple grille forme lettre.pdf
    302.6 KB · Affichages: 49

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@beboire
Glané ce matin, sur le web anglophone.
Pour tester, lance la macro test
Et bon courage pour les 25 lettres restantes ;)
VB:
Sub test()
Cells.ClearFormats
WriteLetterA False
MsgBox "Suite test"
Cells.ClearFormats
WriteLetterA True
End Sub

Private Sub WriteLetterA(Choix As Boolean)
    Dim varLetterA(8)       As Variant
    Dim lngColCounter       As Long
    Dim lngRowCounter       As Long
    Dim blnReverse          As Boolean
    Dim rngCell             As Range
    blnReverse = Choix
    varLetterA(0) = Array(1, 1, 1, 0, 0, 1, 1, 1)
    varLetterA(1) = Array(1, 0, 0, 0, 0, 0, 0, 1)
    varLetterA(2) = Array(1, 0, 0, 1, 1, 0, 0, 1)
    varLetterA(3) = Array(1, 0, 0, 1, 1, 0, 0, 1)
    varLetterA(4) = Array(0, 0, 0, 1, 1, 0, 0, 0)
    varLetterA(5) = Array(0, 0, 0, 0, 0, 0, 0, 0)
    varLetterA(6) = Array(0, 0, 0, 0, 0, 0, 0, 0)
    varLetterA(7) = Array(0, 0, 1, 1, 1, 1, 0, 0)
    varLetterA(8) = Array(0, 0, 1, 1, 1, 1, 0, 0)
    Cells(1, 1).Select
    For lngRowCounter = 0 To UBound(varLetterA)
        For lngColCounter = 0 To UBound(varLetterA(lngRowCounter))
            Set rngCell = Cells(lngRowCounter + 1, lngColCounter + 1)
            If varLetterA(lngRowCounter)(lngColCounter) Then
                rngCell.Interior.Color = IIf(blnReverse, vbBlack, vbWhite)
            Else
                rngCell.Interior.Color = IIf(blnReverse, vbWhite, vbBlack)
            End If
        Next lngColCounter
    Next lngRowCounter
End Sub
 

beboire

XLDnaute Nouveau
Merci beaucoup Staple!

En fait c'est beaucoup plus galère que ce que j'avais imaginé!
Je pense que le mieux serait de passer par Word ou Publisher et de créer chacune des formes qui compose les lettres.

Encore merci de m'avoir aidé Staple ;)
 

Staple1600

XLDnaute Barbatruc
Re

@beboire
Il fallait voir un message subliminal quand je disais:
Glané sur le web anglophone

Message qui avait vocation à infirmer cette affirmation ;)
Ayant cherché partout avec l'ami Google, je suis resté sans réponses..

EDITION
Une solution simple sans macro avec une formule et un contrôle : Barre de défilement, issu de la barre d'outils Formulaire
Le contrôle est associée à la cellule B1 avec les propriétée suivantes
Valeur minimale:1
Valeur maximale:26
01simple.jpg
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Bonjour Beboire, Stapple,

L'idée de l'indicateur global m'a intéressée, par contre peu pratique si on veut préciser quel indicateur est hors norme.
S'il n'y a que 4 lettres à traiter et si j'ai compris le besoin : une proposition en pj.
petit probleme dans les formes car pas de cellules à bords arrondis, mais il suffit de renuméroter les cellules pour adapter
Un systeme de MFC pour donner une couleur à partir des 52 résultats sur les 52 indicateurs.

Cordialement
 

Pièces jointes

  • beboire.xlsx
    14.5 KB · Affichages: 27

beboire

XLDnaute Nouveau
Salut Dugenou!

Ah très bonne idée de faire comme cela! Je pense que je vais partir sur cette idée et reproduire la même chose pour les autres lettres ;)

Cependant c'est un tableau qui à terme va être affiché dans le hall de passage de l'entreprise et donc va devoir être un peu plus "stylisé" et simplifié au niveau graphique pour que l'on capte aussitôt l'information ;)

Donc je vais me pencher la dessus!

Encore merci pour le temps consacrer!
 

beboire

XLDnaute Nouveau
Ah oui Staple j'avais pas vu désolé,

Ben c'est une bonne idée mais c'est pas vraiment dans le principe de ce que je recherche.
Ton idée permet de faire apparaitre les 26 lettres dans une case alors que je cherche plutôt à construire une forme de lettre avec des cellules. Comme ce qu'a proposé Dugenou ;)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa