Yeps,
J'aimerais pouvoir reprendre une discussion entamée sur users avec Christian alias "Christianwtd".
>> Macro destinée à supprimer des caractères accentués.
Merci Christian, cela correspond /pratiquement/ à ce dont j'ai besoin.
/++ Quelques questions dans le code que tu m'as envoyé >>/

Sub SupprimeAccents
   Dim oDocument As Object, oSheet As Object
   Dim oCell As Object
    Dim Col As Integer, Lig As Integer, i As Integer
    Dim LigDeb As Integer, LigFin As Integer
  '
    Col = 0
   /J'aimerais pouvoir faire exécuter la macro sur plusieurs colonnes
Je suppose que pour cela, il "envelopper" le "for next" des lignes par un autre "for next" pour les colonnes ??
/     LigDeb = 0
    LigFin = 100      '
    oDocument=ThisComponent
    /oSheet=oDocument.currentController.ActiveSheet
//J'ai modifié la ligne ci-dessus pour que la macro s'exécute quelle que soit la feuille/
  '
    For i = LigDeb to LigFin
       Txt = oSheet.getCellByPosition(Col, i).getString
        Nc = Len(Txt)
        For n = 1 to Nc
            Car = Mid(Txt, n, 1)
            If Car = "é" Or Car ="è" Or Car = "ê" Or Car = "ë" Then
                Car = "e"
                Mid(Txt, n, 1) = Car
                oSheet.getCellByPosition(Col, i).setString(Txt)
/Pourquoi cette dernière ligne n'est-elle pas présente dans le elseif suivant ??/
            ElseIf Car = "â" Or Car ="à" Or Car ="ä" Then
                Car = "a"
                Mid(Txt, n, 1) = Car
            ElseIf Car = "ï" Or Car ="î" Then
                Car = "i"
                Mid(Txt, n, 1) = Car
oSheet.getCellByPosition(Col, i).setString(Txt) ElseIf Car = "_" Or Car ="-" Then
                Car = ""
                Mid(Txt, n, 1) = Car
                oSheet.getCellByPosition(Col, i).setString(Txt)
                Nc = Nc - 1
            Endif
        Next n
    Next i
End Sub

Bon dimanche,
----------
Gérard Laloux
B - 6210 Rèves
----------

Répondre à