Garder symbole delta, alpha manipulation de string

youki

XLDnaute Occasionnel
Bonjour,
une macro que je viens de creer utilise les copier coller et envoies les infos dans des cellules.
Je m'apercois que mes cellules transforme mes symboles delta en D et alpha en a... et ainsi de suite...

Code:
Dim separation() As String
    Dim verso As String
    Dim i As Integer
For i = 2 To Sheets("colonne_maker").Range("A300").End(xlUp).Row
        separation = Split((Range("A" & i).Value), "/")
        Sheets("S1").Range("A" & i).Value = separation(0)
        Sheets("S1").Range("B" & i).Value = separation(1)
    Next i

voila comment je passe mes infos d'une cellule à une autre cellule dans S1. Pourquoi excel modifie les symboles entre ma cellule origine et ma cellule arrivée, alors que je ne précise rien.

Comment remédier à cela?
je vous remercie d'avance.

Pour l'anecdote qui vous fera marrer... je m'en rend compte au bout de deux jours d'édition de macro soit + de 100 fichiers textes d'environs 40 lignes. Vraiment, mais vraiment que du bonheur.
 

youki

XLDnaute Occasionnel
Re : Garder symbole delta, alpha manipulation de string

tout d'abord merci, mais cela me creer une erreur 1004 erreur définie par l'application ou par l'object.

Il selectionne la ligne
Code:
.Replace What:=ChrW(916), Replacement:="?", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
correspondante à ces lignes
 

youki

XLDnaute Occasionnel
Re : Garder symbole delta, alpha manipulation de string

@Odesta: La manipulation du delta dans la feuille fonctionne bien désormais en partie grace à vous. Mais ce n'est plus suffisant (consigne imprimeur) il faut transformer le delta et alpha en ? et '.

@Lii: Un grand merci cela fonctionne désormais. J'avoue je ne vois pas trop pourquoi il buggait hier? J'ai modifier la recherche en copiant l'enregsitrement macro: ça marche c'est le principal.

Je me trouve c** de vous demander ça mais désormais j'essaye de finir ma fonction en remplacant les alpha... Alpha correspond à E0 en hexa et 224 en décimal. Donc j'ai dupliqué la recherche pour remplacer chrW(224) avec un ' .

Il n'ya pas d'erreur, seulement il ne trouve pas mes alpha; alpha pourtant présent. il trouve toujours bien les deltas...
Alpha comme beta sont bien des caracteres arial (pas un caractere symbol). Donc j'avoue je croyais comprendre, mais vu que je n'arrive pas à regler le probleme avec alpha je me dis qu'en faite non : j'ai pas tout compris :/ ???

Code:
 Sheets("colonne_maker").Range("A2:A" & derli).Select

    With Selection
    .Replace What:=ChrW(916), Replacement:="?", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
    .Replace What:=ChrW(224), Replacement:="'", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
    .Font.Name = "Times New Roman"
    .Font.Size = 10
    End With

PS: étant donné le caractere douteux du remplacement de alpha par un simple quote, je précise que j'ai essayé déjà de mettre autre chose (point exclamation, lettre) pour voir si ce n'était pas ça le souci: mais non
 

Lii

XLDnaute Impliqué
Re : Garder symbole delta, alpha manipulation de string

Re bon jour,

pour alpha minuscule, j'utiliserais plutôt 945 (03B1).
Voir les codes des caractères avec la police Arial en utilisant "Insertion ~~>Caractères spéciaux (Grec de base)" .
 

gcoot

XLDnaute Nouveau
Re : Garder symbole delta, alpha manipulation de string

Re bon jour,

pour alpha minuscule, j'utiliserais plutôt 945 (03B1).
Voir les codes des caractères avec la police Arial en utilisant "Insertion ~~>Caractères spéciaux (Grec de base)" .

Bonjour,

Si ça peux te rendre service j'ai un classeur de macros complémentaires qui fait ça pour le premier caractère d'une cellule (pratique pour les notes de calcul)

Classeur de macros complémentaires (e-methodes)
 

youki

XLDnaute Occasionnel
Re : Garder symbole delta, alpha manipulation de string

Merci à tous ça avance bien... Mais...
Je suis lassé, alors que je pensais le problème résolue (grâce à vous d'ailleurs), voila qu'il ressurgi.

Ci-joint un classeur avec les deltas que j'arrive à modifier et ceux qui ne sont pas modifiés.

voici le code que j'utilise pour remplacer les delta et alpha:

Code:
Sheets("Insertion").Range("A4:B" & derli).Select
        Selection.Replace What:=ChrW(916), Replacement:="?", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False
                
         Selection.Replace What:=ChrW(945), Replacement:="'", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False

Toutes suggestions m'intéressent.
 

Pièces jointes

  • delta_probleme.zip
    9.7 KB · Affichages: 17
  • delta_probleme.zip
    9.7 KB · Affichages: 23
  • delta_probleme.zip
    9.7 KB · Affichages: 20

JNP

XLDnaute Barbatruc
Re : Garder symbole delta, alpha manipulation de string

Bonsoir le fil :),
Afin de ne pas se perdre entre l'α et l'ω, pour ne pas passer pour un β, et pour laisser un γ de réflexion :p...
2 petites fonctions qui simplifient bien la vie
Code:
Function LireCode(ALire As String) As Integer
Application.Volatile
LireCode = AscW(ALire)
End Function
pour renvoyer le code ASCII de la première lettre de la cellule, ce qui confirme la remarque de Roger, et
Code:
Function EcrireCode(AEcrire As Integer) As String
Application.Volatile
EcrireCode = ChrW(AEcrire)
End Function
pour vérifier que le code ASCII renvoie bien le caractère voulu.
Car vu comme tu es parti, tu va finir par manger tout l'alphabet grec.
D'ailleurs, si tu en as encore beaucoup à rajouter, je te conseille plutôt une petite table d'équivalence avec dans une colonne le caractère à remplacer, et à côté le caractère de remplacement.
Tu peux d'ailleurs jeter un oeil ICI où on s'était bien prix la tête avec des accents cambodgiens :D...
Bonne soirée :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 251
Messages
2 086 622
Membres
103 266
dernier inscrit
moonie