Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Excel : pas de majuscules accentuées

Anne88, le mercredi 19 avril 2006 à 23:20:55
Bonsoir,

Je dois transformer en majuscules assez rapidement et de manière aussi simple que possible un tableau Excel avec pas loin de 45000 lignes et 10 colonnes avec du texte en majuscules et en minuscules.

Pour transformer mon texte automatiquement tout en majuscules, j'utilise la fonction =MAJUSCULE(réf de la cellule). Tout fonctionne bien jusque là.

Seulement, je me retrouve avec des caractères en majuscules qui sont accentués. Comme ce fichier, je dois ensuite le basculer sur ma base de données sur AS400 après l'avoir enregistré en format .txt, et que l'AS400 ne gère pas les majuscules, tous les articles avec une accentuation sortent en erreur après transfert.

Existe-t'il une solution pour que les caratères majuscules accentués se transforment en majuscules non accentuées.

Si vous avez une solution, je suis preneuse... Merci d'avance.

Bonne soirée
Répondre à Anne88  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
aranjuez31, le mercredi 19 avril 2006 à 23:26:46
bsr
les majuscules en "frenh' ne sont pas accentuées
donc blem résolu !..... "D'un bourricot , on n'a jamais fait un étalon, mais...."Google" veille...
Répondre à aranjuez31

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anne88, le mercredi 19 avril 2006 à 23:50:56
Merci Aranjuez31 pour ton aide, mais je ne vois pas à quoi correspond le "frenh'... C'est une police ?

A plus
Répondre à Anne88

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le jeudi 20 avril 2006 à 01:14:53
Bonjour,

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
Répondre à Lupin.A

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anne88, le jeudi 20 avril 2006 à 01:57:15
Coucou Lupin,

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
Répondre à Anne88

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le jeudi 20 avril 2006 à 08:40:47
Hello Anne et Lupin,

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é :-)
Sub XfrAcc()

  Dim DonneeIn As Variant
  Dim Carac As String, DonneeOut As String
  Dim BoucleLig As Long, BoucleCol As Long, Longueur As Long, Cmpt As Long
  Dim DerLig As Long, DerCol As Integer
  
  DerLig = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row     ' ligne la plus basse
  DerCol = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column  ' colonne la plus à droite
  
  Application.ScreenUpdating = False
  
  'Balayage des lignes
  For BoucleLig = 1 To DerLig
    'Balayage des colonnes
    For BoucleCol = 1 To DerCol
      DonneeIn = Cells(BoucleLig, BoucleCol).Value
      DonneeOut = ""                                  ' réinitialisation à chaque cellule
      If DonneeIn <> "" Then
        Longueur = Len(DonneeIn)
        For Cmpt = 1 To Longueur
          Carac = Mid(DonneeIn, Cmpt, 1)
          Select Case (Carac)
            Case "À", "Â", "Ä": DonneeOut = DonneeOut & "A"
            Case "É", "È", "Ê", "Ë": DonneeOut = DonneeOut & "E"
            Case "Î", "Ï": DonneeOut = DonneeOut & "I"
            Case "Ô": DonneeOut = DonneeOut & "O"
            Case "Û": DonneeOut = DonneeOut & "U"
            Case Else: DonneeOut = DonneeOut & Carac  ' peut y avoir minuscules, chiffres, etc.
          End Select
        Next Cmpt
        Cells(BoucleLig, BoucleCol).Value = DonneeOut
      End If
    Next BoucleCol
  Next BoucleLig

  Application.ScreenUpdating = True

End Sub
Répondre à Armojax

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anne88, le vendredi 21 avril 2006 à 23:40:15
Bonsoir vous 2,

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
Répondre à Anne88

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le samedi 22 avril 2006 à 08:05:55
Merci, Anne.
Bon week-end.
Répondre à Armojax

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Lupin.A, le samedi 22 avril 2006 à 14:42:49
Bonjour Anne et Armojax,

alors merci, ce fut un plaisir.

@+
Lupin
Répondre à Lupin.A

Résultats pour Excel : pas de majuscules accentuées

Accents (Résolu) Bonjour, Je voudrais savoir comment écrire des majuscules accentuées sous OS X ma configuration précise: Mac Mini OS X 10.5 Firefox 3 Mail 3.5 NeoOffice 2.2.4 clavier Macally Sous Windows j'ai l'habitude des raccourcis clavier (Alt+****)... www.commentcamarche.net/forum/affich-8888919-accents
[Excel] Majuscule sur la première lettre (Résolu) Bonjour, lorsqu'on insère du texte dans excel, y'a-t-il un moyen pour que la première lettre de chaque cellule soit mise automatiquement en majuscule? J'ai regardé dans outils/options/orthographe mais n'y ai rien trouvé le... www.commentcamarche.net/forum/affich-2081158-excel-majuscule-sur-la-premiere-lettre
[Excel] Macro majuscule lettre initial (Résolu) Bonjours à tous, J'ai vu beaucoup de macro pour formater les polices tout en majuscule ou tout en minuscule, mais aucune ne fait mon bonheur à 100%. Voici le problème, j'ai des cellule excel qui contiennent tous plusieurs lignes chacune en... www.commentcamarche.net/forum/affich-2219536-excel-macro-majuscule-lettre-initial

Résultats pour Excel : pas de majuscules accentuées

Google - Minuscules, majuscules, accents, plurielsGoogle ne tient pas compte de la casse des caractères. Donc que vous utilisiez des majuscules, des minuscules ou les 2 mélangées vous obtiendrez les mêmes résultats. Google ne tient pas compte des accents, cédilles, tildes espagnols… Ainsi, une... www.commentcamarche.net/faq/sujet-798-google-minuscules-majuscules-accents-pluriels
Transformer un fichier Microsoft Excel (.xls) en PDFTransformer en fichier PDF un fichier Microsoft Excel (.xls) Rien de plus simple ! Ouvrez votre fichier *.xls avec OpenOffice.org Réglez éventuellement la mise en page par le menu Format / Page... Dès lors, 2 solutions pour transformer en... www.commentcamarche.net/faq/sujet-5734-transformer-un-fichier-microsoft-excel-xls-en-pdf
[Excel] Colorer des cellules sur conditionsIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un... www.commentcamarche.net/faq/sujet-3975-excel-colorer-des-cellules-sur-conditions

Résultats pour Excel : pas de majuscules accentuées

Excel définir saisie en majuscules (Résolu)Bonjour, Pour un fichier que je mets à disposition pour saisie sous excel 2003, comment définir à l'avance que la saisie d’une cellule ressorte automatiquement en majuscules pour des codes (ex. AGAJ004), même si mon utilisateur a laissé son... www.commentcamarche.net/forum/affich-3961825-excel-definir-saisie-en-majuscules
France en majuscules sous Word et Excel (Résolu)Bonjour, Sous Word ou Excel, le mot France est sytématiquement converti en minuscules. Quelqu'un pourrait-il me donner la manip pour que le mot France reste en majuscules ? Merci. www.commentcamarche.net/forum/affich-2981979-france-en-majuscules-sous-word-et-excel
[ excel ]mettre en majuscule (Résolu)Bonjour à tous. voilà je voudrais mettre les deux lettre quelle quel soit en majuscules si joint le MSG Private Sub Worksheet_Change(ByVal Target As Range) Dim CelluleVise As Range Dim Reponse As Variant Dim Question As String Dim Titre As String Set... www.commentcamarche.net/forum/affich-2096912-excel-mettre-en-majuscule

Résultats pour Excel : pas de majuscules accentuées

Télécharger Excel ViewerAvec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS), même si Excel n'est pas installé sur votre ordinateur. Vous pouvez également copier des données de Excel Viewer 2003 vers un autre... www.commentcamarche.net/telecharger/telecharger-209-excel-viewer
Télécharger Modèle de Calendrier Mensuel ExcelModèle de Calendrier Mensuel Excel ou "Free Monthly Calendar Template" est un modèle qui peut s’ouvrir avec Microsoft Excel XP et les versions plus récentes. Il vous permet d’avoir un calendrier sur Excel pendant toute l’année, et même pour les années... www.commentcamarche.net/telecharger/telecharger-34056750-modele-de-calendrier-mensuel-excel
Télécharger Modèle de Calendrier Excel annuelModèle de Calendrier Excel annuel " Free Excel Yearly Calendar Template" est un modèle calendrier qui vous permet de planifier annuellement. Vous pouvez aussi avoir les calendriers des années prochaines avec ce modèle. Il fonctionne avec Microsoft... www.commentcamarche.net/telecharger/telecharger-34056751-modele-de-calendrier-excel-annuel

Résultats pour Excel : pas de majuscules accentuées

Tableur - L'interface d'ExcelPrésentation d'Excel Microsoft Excel est le tableur de la suite bureautique Microsoft Office. Pour le lancer il suffit de cliquer sur l'icone appropriée de votre menu Démarrer (sous Windows) ou bien de cliquer sur un fichier Excel (dont... www.commentcamarche.net/contents/tableur/tabinterface.php3