Pb de code pour vb

Fermé
gontran - 5 nov. 2007 à 16:08
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 5 nov. 2007 à 17:14
Bonjour,

je cherche a appliquer ce code dans visual basic Il doit me permettre de changer les minuscules en majuscules

Mais il y a un pb a la ligne case Range("b").value = Ucase ("B") quand visual arrive a cette ligne il dit "la methode range de l'objet global a échoué

Moi je voudrais que le programme me mettent les cellules de la colonne b qui sont pour certaine en minuscules qu'il me mettent toutes les cellules en majuscules

Sub ConvertCasse()
' Déclaration des variables
Dim b As Range

' Traitement de la sélection
For Each b In Range([b2], [B797].End(xlUp))
Select Case True
' le contenu est en minuscule -> conversion en Majuscule (UCASE = Upper Case)
Case Range("b").Value = UCase("B").Value

End Select
Next
End Sub

je précise j'ai chercher dans un tas de forum, des livres aussi mais j'arrive pas a trouver la réponse.
Merci d'avance et de votre compréhension. Je suis débutant ++++
A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 nov. 2007 à 16:22
bonjour,

La syntaxe est celle-ci pour Ucase :

Dim var As String

var = "b"

var = Ucase(var)

Le résultat est : var = "B"

A toi d'adapter ça dans ton code.


;o)


Polux
0
bonjour,

Merci pour la reponse mais je ne comprend rien

ce n'est pas moi qui est fait le code moi j'essaye juste de l'appliquer a mon doc mais je ne sais pas quoi remplacer pour l'addapter a mon doc.

Je vais chercher pour y comprendre un peu plus sinon je reposterai le message

Merci
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
5 nov. 2007 à 17:14
Tu fais une erreur dans ton code :

Sub ConvertCasse()
' Déclaration des variables
Dim b As Range

' Traitement de la sélection
'ta boucle veut dire : 
'pour chaque cellule (stockée dans b) de la plage de cellule allant de B2 à B797
For Each b In Range([b2], [B797].End(xlUp))

   'il te suffit de donc de jouer avec b
   'combiné avec ce qu'a fait Polux
   var = UCase(b.Value)
   b.Value = var
   'et ainsi ttes tes cellules seront en MAJUSCULE 
   '(attention, au cas ou il y aurait des valeurs numériques)

Next
End Sub 
0