Modifier un tableau excel excel grâce a VBA
nocti
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je me rapproche de vous car j'ai besoin de vos lumières en VBA!
Je suis auto-entrepreneuse et pour effectuer ma prospection et trouver des clients, j'ai réussi à obtenir une base de données, sauf que le contenu est vraiment pas beau d'un point de vue forme : certains noms sont en minuscule, d'autre en majuscules et d'autres encore avec la première lettre majuscule et le reste en minuscule...
Je sais qu'il serait possible de régler ça sans VBA, mais je débute sur ce langage et je me suis dit que ce serait un bon exercice ! Ce que je veux, c'est mettre toute la colonne de mon tableau des noms sous format : majuscule pour la première lettre et minuscule pour le reste
Ainsi, j'ai tapé ce code en VBA :
Sauf ça me met au format que je veux uniquement pour la première valeur! et la dernière valeur, ça me la change carrément pour la remplacer par la première! Pourtant, j'ai bien défini la plage de cellule de D2 jusque D457 !
Pourriez-vous m'éclairer ? :)
Merci par avance!
Je me rapproche de vous car j'ai besoin de vos lumières en VBA!
Je suis auto-entrepreneuse et pour effectuer ma prospection et trouver des clients, j'ai réussi à obtenir une base de données, sauf que le contenu est vraiment pas beau d'un point de vue forme : certains noms sont en minuscule, d'autre en majuscules et d'autres encore avec la première lettre majuscule et le reste en minuscule...
Je sais qu'il serait possible de régler ça sans VBA, mais je débute sur ce langage et je me suis dit que ce serait un bon exercice ! Ce que je veux, c'est mettre toute la colonne de mon tableau des noms sous format : majuscule pour la première lettre et minuscule pour le reste
Ainsi, j'ai tapé ce code en VBA :
Sub IdNormal()
Dim bordel As String
Dim standard As String
Sheets("Assoc").Select
bordel = Range("D2, D457")
standard = StrConv(bordel, vbProperCase)
Range("D2, D457") = standard
End Sub
Sauf ça me met au format que je veux uniquement pour la première valeur! et la dernière valeur, ça me la change carrément pour la remplacer par la première! Pourtant, j'ai bien défini la plage de cellule de D2 jusque D457 !
Pourriez-vous m'éclairer ? :)
Merci par avance!
A voir également:
- Modifier un tableau excel excel grâce a VBA
- Modifier liste déroulante excel - Guide
- Trier un tableau excel - Guide
- Word et excel gratuit - Guide
- Imprimer un tableau excel - Guide
- Tableau word - Guide
1 réponse
Bonjour,
La bonne méthode est de parcourir la plage en faisant la transformation cellule par cellule.
Voici un exemple de façon de faire :
juste une précision : Range ("D2,D457") signifie les cellules D2 et D457.
Pour définir une plage il faut utiliser la syntaxe "D2:D457"
Cordialement,
La bonne méthode est de parcourir la plage en faisant la transformation cellule par cellule.
Voici un exemple de façon de faire :
Sub IdNormal() Dim cellule As Range Sheets("Assoc").Select For Each cellule In Range("D2:D457") cellule = StrConv(cellule, vbProperCase) Next End Sub
juste une précision : Range ("D2,D457") signifie les cellules D2 et D457.
Pour définir une plage il faut utiliser la syntaxe "D2:D457"
Cordialement,