Excel : pas de majuscules accentuées
Résolu/Fermé
Anne88
Messages postés
190
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
7 mars 2008
-
19 avril 2006 à 23:20
nacer - 25 mars 2010 à 22:06
nacer - 25 mars 2010 à 22:06
A voir également:
- Excel : pas de majuscules accentuées
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
4 réponses
Utilisateur anonyme
20 avril 2006 à 01:14
20 avril 2006 à 01:14
Bonjour,
si vous avez quelques notions de VBA, voici une suggestion !
j'ai codé une routine qui effectue le travail :-)
Lupin
si vous avez quelques notions de VBA, voici une suggestion !
j'ai codé une routine qui effectue le travail :-)
Sub XfrAcc() Dim DonneeIn As Variant Dim Carac, DonneeOut As String Dim DebLig, FinLig, DebCol, FinCol As Long Dim BoucleLig, BoucleCol, Longueur, Cmpt As Long ' A tester d'abord sur votre environemment ' ensuite vous pourrez enlever le commentaire (') ' des deux lignes suivantes : 'Application.ScreenUpdating = False 'Application.DisplayAlerts = False ' Équivalent en fin de routine pour remettre a True ' Tester sur une petite plage et ensuite ' modifier pour avoir toute la plage ' Définition de la plage a couvrir DebLig = 1: FinLig = 5 DebCol = 1: FinCol = 5 'Balayage des lignes For BoucleLig = DebLig To FinLig 'Balayage des colonnes For BoucleCol = DebCol To FinCol DonneeIn = Cells(BoucleLig, BoucleCol).Value If DonneeIn <> "" Then Longueur = Len(DonneeIn) For Cmpt = 1 To Longueur Carac = Mid(DonneeIn, Cmpt, 1) Select Case (Carac) Case "A" To "Z": DonneeOut = DonneeOut & Carac Case "À", "Â", "Ä": DonneeOut = DonneeOut & "A" Case "É", "È", "Ê", "Ë": DonneeOut = DonneeOut & "E" Case "Î", "Ï": DonneeOut = DonneeOut & "I" Case "Ô": DonneeOut = DonneeOut & "O" Case "Û": DonneeOut = DonneeOut & "U" End Select Next Cmpt Cells(BoucleLig, BoucleCol).Value = DonneeOut End If Next BoucleCol Next BoucleLig 'Application.DisplayAlerts = true 'Application.ScreenUpdating = true End Sub
Lupin
aranjuez31
Messages postés
8052
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
9 juillet 2006
354
19 avril 2006 à 23:26
19 avril 2006 à 23:26
bsr
les majuscules en "frenh' ne sont pas accentuées
donc blem résolu !.....
les majuscules en "frenh' ne sont pas accentuées
donc blem résolu !.....
Anne88
Messages postés
190
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
7 mars 2008
36
19 avril 2006 à 23:50
19 avril 2006 à 23:50
Merci Aranjuez31 pour ton aide, mais je ne vois pas à quoi correspond le "frenh'... C'est une police ?
A plus
A plus
20 avril 2006 à 01:57
Cool, ça avance, même si le résultat n'est pas à 100% ok chez moi. Ou j'ai merdé quelque part en copiant/collant ta routine, mais j'ai certaines parties de mots qui sont tronquées et les espaces entre les mots disparaissent.
A la limite, demain car je n'ai pas d'exemple concret sous les yeux, (j'ai juste créé un petit tableau avec des caractères accentués) mais ce qui serait bien, c'est que je te montre de quoi je pars et ce à quoi je souhaiterais arriver. Comme tu me sembles connaitre très bien VBA, alors que moi pas du tout :(, tu me serais d'un grand secours, car d'ici quelques semaines je vais me retrouver avec des centaines de fichiers tarifs fournisseurs à rentrer dans mon as 400 et je me vois mal pour l'instant reprendre une à une les 630.000 références articles pour vérifier si il n'y a pas de caractères "interdits".
Vu ce que tu as déjà fait, je pense qu'il ne faudrait pas grand chose à modifier, mais comme je patauge, je ne sais même pas quoi faire. Je vais quand même essayer de trouver des cours de VBA afin de comprendre quelque chose.
Tu me dis ce que tu en penses.
Bonne soirée
20 avril 2006 à 08:40
Juste quelques ajustements mineurs, Lupin. J'ai mis en commentaires en bouts de lignes mes modifs (facile quand l'essentiel du boulot est déjà fait . T'as bien bossé).
Manquait juste la réinitialisation de DonneeOut à chaque nouvelle cellule, et la prise en compte des autres caractères non majuscules éventuels.
J'en profite pour relever une erreur que beaucoup font dans les définitions de variables. On peut en définir plusieurs dans un même "DIM", mais il faut répéter le "As" à chaque fois. Sinon, seule la dernière variable est correctement définie, et toutes les précédentes sont des Variants... Evidemment, ça marche, mais on appelle le semi-remorque pour trimballer les courses du supermarché :-)
21 avril 2006 à 23:40
Si vous étiez à côté de moi, je vous sauterais au cou. C'est nickel. Ca fonctionne super bien.
J'ai encore fait quelques modifications et du coup, je n'ai même plus besoin de passer par la fonction =MAJUSCULE(réf de la cellule).
Je crois que maintenant, il faut que je trouve des cours de VBA sur le net pour pouvoir faire aussi bien que ce que vous avez fait, car malheureusement vous ne serez pas toujours derrière moi, et en voyant les possibilités, je suis sûre que je pourrai alléger mon travail grâce à VBA.
Je vous envoie plein de bisous virtuels
22 avril 2006 à 08:05
Bon week-end.
22 avril 2006 à 14:42
alors merci, ce fut un plaisir.
@+
Lupin