| Quant au clic et double-clic sur un même bouton,
| il me semble avoir déjà vu cette possibilité ici-même
| il y a plusieurs années.
Je ne dis pas que cela ne fonctionne pas, mais il y a au
moins une restriction, celle de ne pas avoir aussi pour le
même bouton un événement Clic.
| Quant au clic et double-clic sur un même bouton,
| il me semble avoir déjà vu cette possibilité ici-même
| il y a plusieurs années.
Je ne dis pas que cela ne fonctionne pas, mais il y a au
moins une restriction, celle de ne pas avoir aussi pour le
même bouton un événement Clic.
| Quant au clic et double-clic sur un même bouton,
| il me semble avoir déjà vu cette possibilité ici-même
| il y a plusieurs années.
Je ne dis pas que cela ne fonctionne pas, mais il y a au
moins une restriction, celle de ne pas avoir aussi pour le
même bouton un événement Clic.
Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" a écrit dans le message de news:Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ewysQOkKKHA.4608@TK2MSFTNGP02.phx.gbl...
Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" <nospam.demokos@free.fr> a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$426a34cc@news.free.fr...
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :
Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" <nospam.demokos@free.fr> a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$426a34cc@news.free.fr...
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" a écrit dans le message de news:Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
Sub essai()
Dim cell As Range
For Each cell In Cells
cell.Value = UCase(cell.Value)
Next cell
End Sub
FS
Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
Sub essai()
Dim cell As Range
For Each cell In Cells
cell.Value = UCase(cell.Value)
Next cell
End Sub
FS
Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
Sub essai()
Dim cell As Range
For Each cell In Cells
cell.Value = UCase(cell.Value)
Next cell
End Sub
FS
| mais est-ce vraiment nécessaire ?
Non
et j'aurais pu préciser davantage comme ceci :
Dans le cas d'un copier-coller d'une grande plage
cela éviterait de boucler sur toutes les cellules qui
ne sont pas du texte !
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
On Error Resume Next
Application.EnableEvents = False
For Each C In Target.SpecialCells(xlCellTypeConstants, xlTextValues)
C.Value = UCase(C.Value)
Next
Application.EnableEvents = True
End Sub
'--------------------------------
"garnote" a écrit dans le message de groupe de discussion :
Je n'avais pas non plus le
If C <> "" Then
mais est-ce vraiment nécessaire ?
"garnote" a écrit dans le message de news:
%Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" a écrit dans le message de news:Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
| mais est-ce vraiment nécessaire ?
Non
et j'aurais pu préciser davantage comme ceci :
Dans le cas d'un copier-coller d'une grande plage
cela éviterait de boucler sur toutes les cellules qui
ne sont pas du texte !
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
On Error Resume Next
Application.EnableEvents = False
For Each C In Target.SpecialCells(xlCellTypeConstants, xlTextValues)
C.Value = UCase(C.Value)
Next
Application.EnableEvents = True
End Sub
'--------------------------------
"garnote" <garnote3@videotron.ca> a écrit dans le message de groupe de discussion :
uLCLWXkKKHA.4168@TK2MSFTNGP05.phx.gbl...
Je n'avais pas non plus le
If C <> "" Then
mais est-ce vraiment nécessaire ?
"garnote" <garnote3@videotron.ca> a écrit dans le message de news:
%23Vx2EUkKKHA.3708@TK2MSFTNGP02.phx.gbl...
Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ewysQOkKKHA.4608@TK2MSFTNGP02.phx.gbl...
Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" <nospam.demokos@free.fr> a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$426a34cc@news.free.fr...
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :
Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" <nospam.demokos@free.fr> a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$426a34cc@news.free.fr...
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
| mais est-ce vraiment nécessaire ?
Non
et j'aurais pu préciser davantage comme ceci :
Dans le cas d'un copier-coller d'une grande plage
cela éviterait de boucler sur toutes les cellules qui
ne sont pas du texte !
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
On Error Resume Next
Application.EnableEvents = False
For Each C In Target.SpecialCells(xlCellTypeConstants, xlTextValues)
C.Value = UCase(C.Value)
Next
Application.EnableEvents = True
End Sub
'--------------------------------
"garnote" a écrit dans le message de groupe de discussion :
Je n'avais pas non plus le
If C <> "" Then
mais est-ce vraiment nécessaire ?
"garnote" a écrit dans le message de news:
%Ave le magicien,
J'avais la même chose mais sans
Application.EnableEvents = False
et
Application.EnableEvents = True
Pas osé publier ma patente, beaucoup trop lent c'était.
Quant au clic et double-clic sur un même bouton,
il me semble avoir déjà vu cette possibilité ici-même
il y a plusieurs années.
Serge
"MichDenis" a écrit dans le message de news:Utilise ce code :
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Target
Application.EnableEvents = False
If C <> "" Then
C.Value = UCase(C.Value)
End If
Application.EnableEvents = True
Next
End Sub
'---------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bd3b0$0$22558$
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de
discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci
Bonjour,
..une possibilité:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Application.EnableEvents = False
With Target.Cells
For i = 1 To .Count
.Item(i) = UCase(.Item(i))
Next
End With
Application.EnableEvents = True
End Sub
'lSteph
On 31 août, 15:44, Demokos wrote:Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
..une possibilité:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Application.EnableEvents = False
With Target.Cells
For i = 1 To .Count
.Item(i) = UCase(.Item(i))
Next
End With
Application.EnableEvents = True
End Sub
'lSteph
On 31 août, 15:44, Demokos <nospam.demo...@free.fr> wrote:
Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :
Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" <nospam.demo...@free.fr> a écrit dans le message de groupe de discussion :
4a9bc9ac$0$31263$426a3...@news.free.fr...
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
..une possibilité:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Application.EnableEvents = False
With Target.Cells
For i = 1 To .Count
.Item(i) = UCase(.Item(i))
Next
End With
Application.EnableEvents = True
End Sub
'lSteph
On 31 août, 15:44, Demokos wrote:Merci à FS et à MichDenis,
mais y a-t-il une façon de faire en sorte que ça s'applique à toute la
feuille, et non seulement à une plage ? Range("A1:IV65535"), peut-être
?(XL 2003)
MichDenis a écrit :Bonjour,
Dans le module feuille de ta feuille de calcul où l'action se déroule,
copie ce qui suit :
Dans l'exemple suivant, la mise en majuscule s'applique pour
la plage A1:G25 seulement. À toi de déterminer quelle est la
plage de la feuille de ton application où la macro doit être effective.
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:G25"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Value = UCase(C.Value)
Next
End If
End Sub
'------------------------------
"Demokos" a écrit dans le message de groupe de discussion :
4a9bc9ac$0$31263$
Bonjour à toutes et à tous.
Comment faire, en VBA, pour que chaque entrée soit mise en majuscule ?
Par avance merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
bonjour à tous et toutes
pour ma part, je mets la police "Felix Titling" comme police par défaut,
elle ressemble à "Times New Roman", et je peux saisir minuscule ou
majuscule
cdlt
"MichDenis" wrote:Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
bonjour à tous et toutes
pour ma part, je mets la police "Felix Titling" comme police par défaut,
elle ressemble à "Times New Roman", et je peux saisir minuscule ou
majuscule
cdlt
"MichDenis" wrote:
Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)
bonjour à tous et toutes
pour ma part, je mets la police "Felix Titling" comme police par défaut,
elle ressemble à "Times New Roman", et je peux saisir minuscule ou
majuscule
cdlt
"MichDenis" wrote:Bonjour Frédéric,
| Utilise plutôt Cells pour toute la feuille (mais ça va ramer !)
J'aurais utilisé cells peut être mais avec usedrange.cells
ça peut toujours ramer mais moins fort !!!
Voire même
UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
ça dépend de la grosseur de la gourde d'eau !
;-)