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

Majuscule et tri

kaki31

XLDnaute Occasionnel
Bonsoir;

je viens de trouver ce code pour le tri a la saisie qui est super,et je voudrais savoir s'il est possible d'incorporer quelques lignes pour la majuscule sauf pour la colonne D et la colonne G.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
nom = Target
[A2:C1000].Sort key1:=[A2]
[A:A].Find(what:=nom).Select
End If
End Sub


Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Majuscule et tri

Bonjour,

euh... oui sans doute... de quelle majuscule tu parles... pas tout compris moi... sans doute qu'un peu plus de détail, voir un petit fichier serait plus facile pour t'aider...

bonne journée
@+
 

job75

XLDnaute Barbatruc
Re : Majuscule et tri

Bonsoir kaki31, salut Pierrot, avec mes meilleurs voeux pour 2012

Vous pouvez mettre cette macro dans le code de la feuille :

Code:
Sub Majuscules()
Dim h&, tablo, ub As Byte, i&, j As Byte
h = [A65536].End(xlUp).Row - 1
If h = 0 Then Exit Sub
tablo = [A2:G2].Resize(h) 'matrice => exécution plus rapide
ub = UBound(tablo, 2)
For i = 1 To UBound(tablo)
  For j = 1 To ub
    If j <> 4 And j <> 7 Then tablo(i, j) = UCase(tablo(i, j))
  Next
Next
Application.EnableEvents = False 'désactive l'action des événements
[A2:G2].Resize(h) = tablo
Application.EnableEvents = True
End Sub
Vous la lancez comme et quand vous voulez.

Vous pouvez même l'appeler à la fin de la macro Worksheet_Change par :

Code:
Call Majuscules
Edit : en fait les 2 Application.EnableEvents sont inutiles.

Avec le test Target.Count = 1 dans Worksheet_Change aucun risque...

A+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Majuscule et tri

Bonsoir à tous

kaki31
Tu l'as copié ou le code ?

Dans la feuille concernée (comme le précisais Job75) ou un module standard ?

Pour le copier au bon emplacement, faire un clic-droit sur l'onglet et choisir Visualiser le code
c'est là qu'il faut copier le code VBA , dans la partie blanche à droite de l'écran.
 

Staple1600

XLDnaute Barbatruc
Re : Majuscule et tri

Re


Si cela fonctionne mais bizarrement sur mon PC.
Tu as le code ci-dessous dans le code de la feuille?
Code:
Option Explicit
Sub Majuscules()
Dim h&, tablo, ub As Byte, i&, j As Byte
h = [A65536].End(xlUp).Row - 1
If h = 0 Then Exit Sub
tablo = [A2:G2].Resize(h) 'matrice => exécution plus rapide
ub = UBound(tablo, 2)
For i = 1 To UBound(tablo)
  For j = 1 To ub
    If j <> 4 And j <> 7 Then tablo(i, j) = UCase(tablo(i, j))
  Next
Next
'Application.EnableEvents = False 'désactive l'action des événements
[A2:G2].Resize(h) = tablo
'Application.EnableEvents = True
End Sub
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Majuscules
End Sub
 
Dernière édition:

kaki31

XLDnaute Occasionnel
Re : Majuscule et tri

Oui merci Staple1600

Mon souhait c'est de convertir en Majuscule et Trier c-a-d associer le code tri et celui de majuscule, comme mentionné dans le titre de l'objet

 

Staple1600

XLDnaute Barbatruc
Re : Majuscule et tri

Re


Tu as essayé de mixer les deux codes ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
nom = Target
[A2:C1000].Sort key1:=[A2]
[A:A].Find(what:=nom).Select
End If
Call Majuscules
End Sub
 

job75

XLDnaute Barbatruc
Re : Majuscule et tri

Bonjour le fil, le forum,

Pourtant pas sorcier...

Voir le fichier joint.

Si l'on utilise l'instruction Option Explicit :

- elle doit être placée en haut de la feuille de code

- dans Worksheet_Change la variable nom doit être déclarée.

A+
 

Pièces jointes

  • Tri et Majuscule a la saisie(1).xls
    36 KB · Affichages: 61

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…