Mettre en Majuscule 1ère lettre avec Double Click

Bonjour le forum

Est-il possible de mettre en Double Click la 1ère lettre du Jour et du mois?

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      InitRISTABIL  'Module posologie
  If Target.Column = 1 Then Target.Value = Date: Cancel = True
  If Not Intersect(Range("C3:C" & Range("A" & Rows.Count).End(xlUp).Row), Target) Is Nothing Then
    Cancel = True
    If Range("A" & Target.Row) = "" Then
      MsgBox "Afficher la Date Colonne A"
      Exit Sub
    End If

    Target = IIf(Target = "RISTABIL", "", "RISTABIL")
  ElseIf Not Intersect(Range("B3:B" & Range("A" & Rows.Count).End(xlUp).Row), Target) Is Nothing Then
    Cancel = True
    Target = IIf(Target = Posologie, "", Posologie)  ' modifié le 19/10/2017
  End If
End Sub

Merci à vous

Bonjour al87,

essaye avec ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  '...
  Cancel = True
  With Cells(Target.Row, "A")
    If .Value = "" Then .Value = Application.Proper(Format(Date, "dddd dd mmmm yyyy"))
    Exit Sub
  End With
  '...
End Sub

dhany

Bonjour dhany

Ça bloque sur le End if après Exit Sub

Merci à toi

désolé, j'ai fait une bête erreur : j'avais mis End If au lieu de End With !

je viens d'le corriger dans mon post précédent.

dhany

Salut al87,

Salut Dhany,

même chose en réécrivant le reste.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
InitRISTABIL  'Module posologie
Cancel = True
'
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    If Target.Offset(-1, 0) <> "" Then Target = WorksheetFunction.Proper(Format(Date, "dddd dd mmmm yyyy"))
End If
'
If Not Intersect(Target, Range("B3:C" & Range("A" & Rows.Count).End(xlUp).Row + 1)) Is Nothing Then
    iRow = Target.Row
    If Range("A" & iRow).Value = "" Then Range("A" & iRow).Value = WorksheetFunction.Proper(Format(Date, "dddd dd mmmm yyyy"))
    Range(Chr(64 + Target.Column) & iRow).Value = IIf(Target = "", IIf(Target.Column = 2, "Posologie", "RISTABIL"), "")
End If
'
End Sub

A+

Salut Curulis57,

y a-t-il une différence entre Application.Proper() et WorksheetFunction.Proper() ?

et si oui, laquelle ? est-ce que l'un est plus rapide que l'autre ?

en tout cas, les 2 font la même chose : ils mettent une majuscule pour la 1ère lettre de chaque mot (initiale)

dhany

Bonjour curulis57

Ça bloque sur

iRow = Target.Row

Merci à toi

Courdialement

Salut Dhany,

aucune idée mais ça m'étonnerait !

Les 3 façons d'écrire fonctionnent, c'est tout ce que je sais...

Application.WorksheetFunction.Proper()
WorksheetFunction.Proper()
Application.Proper()

A+

@Curulis57

ok, merci pour ta réponse !

dhany

Bonjour dhany & curulis57

Merci à vous deux mais c'est beaucoup plus compliqué que ça

Encore merci

Cordialement

Bonjour al87,

tu a écrit :

mais c'est beaucoup plus compliqué que ça

en tout cas, j'avais essayé, et j'avais obtenu : "Jeudi 28 Novembre 2019" : 1ère lettre du Jour et du Mois en majuscule.

pour aujourd'hui : "Vendredi 29 Novembre 2019" ; là aussi, initiales en majuscule pour le Jour et le Mois.

s'il te faut quelque chose d'autre ou quelque chose en plus, à toi de l'expliquer clairement.

rappel : un problème clairement énoncé est déjà à moitié résolu.

dhany

Bonjour dhany

Je le prend très mal

Quand tu auras bientôt 90 ans mardi prochain on verra comment tu seras dans ta tête

désolé, je l'avais écrit en guise de plaisanterie ; mais comme tu n'as pas aimé, j'ai supprimé le passage qui t'a gêné.

j'ai pas encore ton âge avancé, mais je m'doute que quand j'y serai, ça s'ra pour moi moins facile que maint'nant !

j'ai laissé telles quelles les 2 dernières lignes car elles sont valables pour tout l'monde, quelque soit l'âge.

dhany

Re dhany

Moi je fais très attention car on ne sait pas qui est derrière un clavier.

Mais je ne t'en veut pas

Très cordialement

Rechercher des sujets similaires à "mettre majuscule 1ere lettre double click"