Conversion minuscule =>majuscule avec car$(*)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 679 fois - Téléchargée 38 fois

Contenu du snippet

Cette macro sert juste a passer des minuscules aux majuscules dans une feuille excel.
Biensur, je pense quelle peut etre ameliorée (j'attends vos idées)
Soyez sympas, je debute.

Source / Exemple :


Dim compteur As Integer
Dim fin As Integer
Dim car
Dim car2
Sub super_macro()

Do
For compteur = 1 To 26 Step 1
fin = 0
car = Chr$(96 + compteur)
car2 = Chr$(96 + compteur - 32)

 If compteur = 26 Then fin = 1
  
Selection.Replace What:=car, Replacement:=car2, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
        
Next compteur
Loop Until fin = 1
End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003

car2 = Chr$(96 + compteur - 32)

c'est pareil que

car2 = Chr$(64 + compteur)
Messages postés
3
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
6 décembre 2002

Je precise que le but de cette macro est passer en maj TOUTE LA FEUILLE,
Alors j' ai aussi essayé ca :


Sub Ucase_macro()
Cells.Select
Min = Cells.Select
maj = UCase(Cells.Value)
Selection.Replace What:=Min, Replacement:=maj, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

End Sub

Mais j'ai un probleme de memoire insuffisante.
Messages postés
3
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
6 décembre 2002

Au fait, si j'ai une feuille excel contenant 65000 adresses de clients (c'est gros mais c'est souvent dans mon job)est ce que ucase ira aussi vite que ma macro ??
Ucase n'ira t il pas de cellule en cellule ?Donc plus lente ??
P...n, j'ai mal a la tete ;-) .
Messages postés
3
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
6 décembre 2002

Je sais mais comme je l'ai dis je debute (je fais des choses compliquées pour arriver aux choses simples).
En plus, j'ai oublié "cells.select" pour eviter de selectionner la feuille entiere avant la macro).Mais je vais essayer avec Ucase, merci.

Dim compteur As Integer
Dim fin As Integer
Dim car
Dim car2
Sub super_macro()




Do
Cells.Select
For compteur = 1 To 26 Step 1
fin = 0
car = Chr$(96 + compteur)
car2 = Chr$(96 + compteur - 32)

If compteur 26 Then fin 1
'If fin = 1 Then
Selection.Replace What:=car, Replacement:=car2, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

Next compteur
Loop Until fin = 1
End Sub
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Oui je crois aussi que ce serait plus simple.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.