OVH Cloud OVH Cloud

Majuscule Michdenis

5 réponses
Avatar
PhilippeD1
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et non
toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +

5 réponses

Avatar
Fredo \(67\)
Salut
j'avais posé cette question ici et voici une macro qui m'avait été donnée
alors :

Sub Premiere_lettre_maj()
Dim cell As Range
For Each cell In Selection.Cells
cell.Value = UCase(Left(cell, 1)) & LCase(Mid(cell, 2, 9 ^ 9))
Next
End Sub

Cela devrait te convenir..

"PhilippeD1" a écrit dans le message
de news:
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et
non

toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +


Avatar
michdenis
Bonjour Philippe,

Pour affecter la macro à une plage particulière du feuille de calcul déterminée,

Remplace ceci dans la macro :

Set Rg = ActiveSheet.UsedRange.SpecialCells(2, A)

Par

'Évidemment, à toi d'adapter la plage que tu désires signifier !
With Worksheets("Feuil2")
Set Rg = .Range("A4:G10,H5:L8")
End With


Salutations!



"PhilippeD1" a écrit dans le message de
news:
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et non
toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +
Avatar
PhilippeD1
Bonjour Michdenis,

j'ai bien effectue le remplacement et cela ne fonctionne pas :

Sub MettreEnMinuscule()
Dim A As XlSpecialCellsValue
A = xlTextValues
Application.ScreenUpdating = False
Dim Rg As Range
On Error Resume Next
With Worksheets("Feuil1")
Set Rg = .Range("A1")
If Err <> 0 Then Err = 0
If Rg Is Nothing Then Exit Sub
If Not Rg Is Nothing Then
For Each C In Rg
If Not IsNumeric(C) Then
If Left(C.Formula, 1) <> "=" And Left(C.Formula, 1)<> "+" Then
Application.EnableEvents = False
C.Value = UCase(Left(C, 1)) & LCase(Right(C,Len(C) - 1))
End If
Application.EnableEvents = True
End If
Application.EnableEvents = True
End If
Next
End If
Set Rg = Nothing
End With

Cependant, je me suis peut etre plante
Merci de votre aide
A +

Bonjour Philippe,

Pour affecter la macro à une plage particulière du feuille de calcul déterminée,

Remplace ceci dans la macro :

Set Rg = ActiveSheet.UsedRange.SpecialCells(2, A)

Par

'Évidemment, à toi d'adapter la plage que tu désires signifier !
With Worksheets("Feuil2")
Set Rg = .Range("A4:G10,H5:L8")
End With


Salutations!



"PhilippeD1" a écrit dans le message de
news:
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et non
toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +





Avatar
PhilippeD1
Salut Fredo,

ta macro fonctionne bien cependant je souhaiterais l'appliquer toujours aux
memes cellules.
Comment integrer les references des cellules dans cette macro.
Merci d'avance
A +


Salut
j'avais posé cette question ici et voici une macro qui m'avait été donnée
alors :

Sub Premiere_lettre_maj()
Dim cell As Range
For Each cell In Selection.Cells
cell.Value = UCase(Left(cell, 1)) & LCase(Mid(cell, 2, 9 ^ 9))
Next
End Sub

Cela devrait te convenir..

"PhilippeD1" a écrit dans le message
de news:
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et
non

toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +







Avatar
michdenis
Bonjour Philippe,

'------------------------------
Sub MettreEnMinuscule()
Dim Rg As Range, C As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1")
End With

If Rg Is Nothing Then Exit Sub

Application.EnableEvents = False

'La ligne suivante n'est pas nécessaire,
'si ta plage est petite ...
Application.ScreenUpdating = False
For Each C In Rg
If Not IsNumeric(C) Then
If Left(C.Formula, 1) <> "=" And Left(C.Formula, 1) <> "+" Then
C.Value = UCase(Left(C, 1)) & LCase(Right(C, Len(C) - 1))
End If
End If
Next
Application.EnableEvents = True

Set Rg = Nothing: Set C = Nothing

End Sub
'----------------------------------

Salutations!



"PhilippeD1" a écrit dans le message de
news:
Bonjour Michdenis,

j'ai bien effectue le remplacement et cela ne fonctionne pas :

Sub MettreEnMinuscule()
Dim A As XlSpecialCellsValue
A = xlTextValues
Application.ScreenUpdating = False
Dim Rg As Range
On Error Resume Next
With Worksheets("Feuil1")
Set Rg = .Range("A1")
If Err <> 0 Then Err = 0
If Rg Is Nothing Then Exit Sub
If Not Rg Is Nothing Then
For Each C In Rg
If Not IsNumeric(C) Then
If Left(C.Formula, 1) <> "=" And Left(C.Formula, 1)<> "+" Then
Application.EnableEvents = False
C.Value = UCase(Left(C, 1)) & LCase(Right(C,Len(C) - 1))
End If
Application.EnableEvents = True
End If
Application.EnableEvents = True
End If
Next
End If
Set Rg = Nothing
End With

Cependant, je me suis peut etre plante
Merci de votre aide
A +

Bonjour Philippe,

Pour affecter la macro à une plage particulière du feuille de calcul déterminée,

Remplace ceci dans la macro :

Set Rg = ActiveSheet.UsedRange.SpecialCells(2, A)

Par

'Évidemment, à toi d'adapter la plage que tu désires signifier !
With Worksheets("Feuil2")
Set Rg = .Range("A4:G10,H5:L8")
End With


Salutations!



"PhilippeD1" a écrit dans le message de
news:
Bonjour,

la macro de michdenis concernant l'article de magdeleine, du 29/09/04, est
tres bien, cependant je souhaiterais pouvoir determiner des cellules et non
toute la feuille.

Pouvez vous m'aider.
Merci d'avance.
A +