Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

limiter la mise en forme à la dernière cellule remplie

  • Initiateur de la discussion Initiateur de la discussion altinea
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

altinea

XLDnaute Accro
bonjour,

je souhaiterai pouvoir modifier cette macro afin qu'elle s'applique jusqu'à la dernière cellule remplie, cela évitera quelle ne fasse toutes les cellules de la colonne

Sub Uppercase()
'Boucle pour parcourir chaque cellule dans la plage spécifiée
For Each x In Range("A1:A5")
ici je pensai mettre ("a:a") et là à priori ça va jusque la dernière cellule de la colonne
' Modifier le texte dans la plage en majuscules
x.Value = UCase(x.value)
Next
End Sub
Merci pour votre aide
bonne soirée
 
Dernière édition:
Re : limiter la mise en forme à la dernière cellule remplie

re, merci beaucoup staple1600, ça fonctionne, puis te demander une autre variante, en fait mettre systématiquement en majuscule jusque la derniere ligne utilisée?
Car si je reviens sur les ligne précédentes et je modifie et je ne met pas en majuscule cela ne converti pas, ça reste en minuscule.
merci encore
 
Re : limiter la mise en forme à la dernière cellule remplie

Re

Toujours sous réserve d'avoir compris le but recherché, essaies ceci

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dl&, c As Range
If Not Intersect(Target, Range("C:C,E:E,G:G")) Is Nothing Then
If Target.Count = 1 Then
dl = Cells(Rows.Count, Target.Column).End(3).Row
Application.ScreenUpdating = False
For Each c In Columns(Target.Column).SpecialCells(xlCellTypeConstants, 2)
c = StrConv(c, vbUpperCase)
Next
End If
End If
Application.ScreenUpdating = False
End Sub
 
Re : limiter la mise en forme à la dernière cellule remplie

re
merci encore, pour le moment c'est super, juste que pour que la casse change dans la cellule il me faut aller a la cellule inferieure, si ça pouvais faire mais ver sla cellulde de droite puisque le but est de remplir des cellules avec des infos de gauche a droite, encore merci
 
Re : limiter la mise en forme à la dernière cellule remplie

Re


Si j'ai bien compris la donne, essaies avec cette légère modif
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dl&, c As Range
If Not Intersect(Target, Range("C:C,E:E,G:G")) Is Nothing Then
If Target.Count = 1 Then
dl = Cells(Rows.Count, Target.Column).End(3).Row
Application.ScreenUpdating = False
For Each c In Columns(Target.Column).SpecialCells(xlCellTypeConstants, 2).Resize(, 2)
c = StrConv(c, vbUpperCase)
Next
End If
End If
Application.ScreenUpdating = False
End Sub
 
Re : limiter la mise en forme à la dernière cellule remplie

Re

Essaies comme ceci alors
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dl&, c As Range
If Not Intersect(Target, Range("C:C,E:E,G:G")) Is Nothing Then
If Target.Count = 1 Then
dl = Cells(Rows.Count, Target.Column).End(3).Row
Application.ScreenUpdating = False
On Error Resume Next
For Each c In Columns(Target.Column).SpecialCells(xlCellTypeConstants, 2).Resize(, 2)
c = StrConv(c, vbUpperCase)
Next
End If
End If
Application.ScreenUpdating = False
End Sub

Pour tester, il doit y avoir des données en minuscule en colonne D et F.
 
Re : limiter la mise en forme à la dernière cellule remplie

Bonjour à tous

altinea
Supprimes la précédnte procédure proposée et remplace là par celle-ci
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dl&, c As Range
If Not Intersect(Target, Range("C:C,E:E,G:G")) Is Nothing Then
If Target.Count = 1 Then
dl = Cells(Rows.Count, Target.Column).End(3).Row
Application.ScreenUpdating = False
Application.EnableEvents = False
If Target.Row = dl Then Target = UCase(Target.Text)
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Est-ce là est le résultat escompté ?
 
Re : limiter la mise en forme à la dernière cellule remplie

Le forum, Robert, Staple1600, merci cela correspond à ce que je voulais merci encore

et pour l'occasion je dirais en plein dans le :


1000


Merci encore à vous et tous ceux qui m'ont permis de faire de belles choses sur excel et au bout de 1000 échanges je me suis encrichi même si je ne suis pas passé pro dans excel. merci encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
854
Réponses
7
Affichages
959
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
880
W
Réponses
4
Affichages
974
Willmaz
W
M
Réponses
2
Affichages
729
S
Réponses
0
Affichages
1 K
Stateaid
S
C
Réponses
4
Affichages
1 K
cecenico
C
Z
Réponses
7
Affichages
1 K
Zifox
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…