Format automatique VBA...

Misterbean

XLDnaute Nouveau
Bonjour,
Grâce aux personnes actives sur ce Forum, mes connaissances de VBA (étant TRES débutant) s'améliorent de jour en jour. Voici ma nouvelle question:

J'ai un module VBA, qui, lors de double click, rempli automatiquement la cellule avec une couleur + un contenu (par exemple le chiffre "8" lié à la couleur rouge, chiffre "4" à la couleur rose,..). Le texte apparaît mais pas au bon format que j'aimerais
J'aimerais que ce contenu soit centré, Arial, 11pt et couleur grise. Voici le code actuel:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Couleur As Long

Select Case Target.Value
Case "": Valeur = 8: Couleur = 1
Case 8: Valeur = 4: Couleur = 2
Case 4: Valeur = "": Couleur = 3
End Select

Target.Interior.color = Choose(Couleur, RGB(255, 0, 0), RGB(237, 125, 49), RGB(255, 255, 255))
Target = Valeur
Cancel = True
End Sub

Pouvez-vous m'aider ?

Merci
MB
 

Misterbean

XLDnaute Nouveau
Re : Format automatique VBA...

Hmmm. Merci pour cette réaction rapide, mais je crains ne pas comprendre.... le module dont code ci-dessus fait partie de "Sheet 1" et donc n'est pas une macro. Pouvez-vous clarifier ? Merci !

Et lié à ce post, j'ai un bouton (une vrai Macro cette fois-ci) qui permet d'effacer contenu et couleur des cellules, mais ensuite, si je double click à nouveau afin de donner une couleur et contenu, le format original n'est plus respecté. d'avance merci pour votre support

MB
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Format automatique VBA...

Re,

le module dont code ci-dessus fait partie de "Sheet 1" et donc n'est pas une macro. Pouvez-vous clarifier ? Merci !

oui j'ai bien compris, c'est paur cela que je parle d'adaptation une fois les propriés impactées déterminées... sur l'onglet "developpeur" le bouton "enregistrer une macro"...
 

merinos

XLDnaute Accro
Re : Format automatique VBA...

Salut MB,

l'idée c'est de faire un peu comme si tu avais deja ta macro... donc tu enregistre une macro qui fait ce que tu ne connais pas... puis quand tu la lis, elle te donne plein d'info sur ce que tu dois écrire.

Souvent pour ce type de macro, j'ne enregistre 4 ou 5... et je trouve à chaque fois certaines propriétés qui me sont utiles pour ma macro.

Mercinos
 

Pierrot93

XLDnaute Barbatruc
Re : Format automatique VBA...

Re,

l'enregistreur donne ca :
Code:
Sub Macro1()
    With Selection.Font
        .Name = "Arial"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("H21").Select
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Format automatique VBA...

Re,

tu adaptes :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Couleur As Long

Select Case Target.Value
Case "": Valeur = 8: Couleur = 1
Case 8: Valeur = 4: Couleur = 2
Case 4: Valeur = "": Couleur = 3
End Select

Target.Interior.Color = Choose(Couleur, RGB(255, 0, 0), RGB(237, 125, 49), RGB(255, 255, 255))
Target = Valeur
    With Target.Font
        .Name = "Arial"
        .Size = 11
    End With
    With Target
        .HorizontalAlignment = xlCenter
    End With

Cancel = True
End Sub
 

Discussions similaires

Réponses
7
Affichages
534
  • Résolu(e)
Microsoft 365 pb formule vba
Réponses
15
Affichages
775

Statistiques des forums

Discussions
312 247
Messages
2 086 586
Membres
103 247
dernier inscrit
bottxok