Macro Excel en 2007
Sined9612
Messages postés
5
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Je cherche une macro me permettant de mettre en majuscules, certains mots (liste de 14 mots prédéfinis) du contenu de toutes les cellules d'une feuille de calcul.
Je suis en excel 2007.
Merci par avance de votre aide.
Si quelqu'un a déjà ce genre d'outil, je suis peneur, car urgent.
Cordialement
Denis
Je cherche une macro me permettant de mettre en majuscules, certains mots (liste de 14 mots prédéfinis) du contenu de toutes les cellules d'une feuille de calcul.
Je suis en excel 2007.
Merci par avance de votre aide.
Si quelqu'un a déjà ce genre d'outil, je suis peneur, car urgent.
Cordialement
Denis
5 réponses
-
Bonjour,
Essaie ceci:
Sub WorkbookFind() Dim myValue As String myValue = InputBox("Entrez le mot à rechercher", "Recherche", "Monmot") What = myValue If What = "" Then Exit Sub For Each sht In Worksheets sht.Activate Set Found = sht.Cells.Find(What) If Not Found Is Nothing Then FirstAddress = Found.Address Do Found.Activate ActiveCell.FormulaR1C1 = StrConv(myValue, vbUpperCase) Response = MsgBox("Continuer ?", vbYesNo + vbQuestion) If Response = vbNo Then Exit Sub Set Found = Cells.FindNext(After:=ActiveCell) If Found.Address = FirstAddress Then Exit Do Loop End If Next sht MsgBox "Recherche terminée !" End Sub
PS Le titre n'est pas très explicit pour les prochaines recherches!
-
Si je ne m'abuse, cette macro recherche uniquement par rapport à un mot qui est rentré dans l'inputbox.
Pour ma part, je souhaite que toutes les occurrences d'une liste de mots contenues dans une plage de cellules soient mises en majuscule -
Ex : liste de mots à mettre en majuscule ("poisson", "oeuf")
contenu A1 = titi, oeuf
contenu A2 = poisson, oeuf
contenu A3 = poisson
Résultat après traitement
A1 = titi, OEUF
A2 = POISSON, OEUF
A3 = POISSON -
Bonjour
si tu a que quelque mots
Sub TestMaj()
For L = 1 To 3
Var = Cells(L, 1).Value
Var = Replace(Var, "poisson", UCase("poisson"))
Var = Replace(Var, "oeuf", UCase("oeuf"))
Cells(L, 1).Value = Var
Next
End Sub
A+
Maurice -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je ne savait pas qu'il y avait plusieurs noms dans la même cellule. J'ai donc pris le code de Maurice pour changer en majuscule.
Un UserForm, un Bouton et une listBox où l'on mettra les noms à rechercher. On fera une boucle sur tous les noms en lançant la macro WorkbookFind
Les noms sont dans la colonne B, à adapter
Voici le code:
Dim nom As String Private Sub CommandButton1_Click() Dim i As Integer 'Les index des Listbox commencent par zéro For i = 0 To ListBox1.ListCount - 1 nom = ListBox1.List(i) WorkbookFind Next i End Sub Sub WorkbookFind() If nom = "" Then Exit Sub For Each sht In Worksheets sht.Activate Set Found = sht.Cells.Find(nom) If Not Found Is Nothing Then FirstAddress = Found.Address Do Found.Activate ActiveCell.FormulaR1C1 = Replace(ActiveCell.FormulaR1C1, nom, UCase(nom)) ' Response = MsgBox("Continuer ?", vbYesNo + vbQuestion) ' If Response = vbNo Then Exit Sub Set Found = Cells.FindNext(After:=ActiveCell) If Found.Address = FirstAddress Then Exit Do Loop End If Next sht ' MsgBox "Recherche terminée !" End Sub Private Sub UserForm_Initialize() ListBox1.List() = Range("B1:B2").Value 'adapter au nombre de noms à rechercher End Sub