Code VBA Décalage alphabet

Bonjour,

Je dois effectuer un programme sur VBA mais j'ai beaucoup de difficultés a le faire.

En données nous avons un texte aléatoire par exemple "ZLDVTAJO" et a partir de ce texte je dois décaler toutes les consonnes de 3 rang mais je dois décaler seulement les voyelles d'un rang. Le résultat final doit être "COGYWBMP".

Pourriez-vous donc m'aider a écrire ce programme?

Merci d'avance

Bonjour,

à tester,

ZLDVTAJO en cellule C2

résultat en cellule C4

Sub test()
t1 = Range("c2")  ' ZLDVTAJO
For i = 1 To Len(Range("c2"))
    c = Mid(t1, i, 1)
    Select Case Asc(c)
    Case 65, 69, 73, 79, 85, 89: t2 = t2 & Chr(Asc(c) + 1)
    Case 90: t2 = t2 & "C"
    Case Else: t2 = t2 & Chr(Asc(c) + 3)
    End Select
Next
Range("c4") = t2
End Sub

Le programme marche que pour certaines lettres. J'aurais aimé un programme un peu plus generale pour toutes les lettres. Pour la fin de l'alphabet, comme "XYZ" le programme ne me renvoie pas "AZC" mais "[ZC]"

re,

à tester,

Sub test()
t1 = Range("c2")
For i = 1 To Len(Range("c2"))
    c = Mid(t1, i, 1)
    Select Case Asc(c)
    Case 65, 69, 73, 79, 85, 89: t2 = t2 & Chr(Asc(c) + 1)
    Case 88: t2 = t2 & "A"
    Case 89: t2 = t2 & "B"
    Case 90: t2 = t2 & "C"
    Case Else: t2 = t2 & Chr(Asc(c) + 3)
    End Select
Next
Range("c4") = t2
End Sub

Je viens de résoudre le problème il manquait le cas pour X donc j'ai rajouté Case 88: T2 = T2 & "A"

Le deuxième programme est bon mais il faut supprimer de le Y (89) = B car comme c'est une voyelle donc il il n'y a qu'un décalage mais merci beaucoup d'avoir résolu le problème

oh, erreur inattention

Rechercher des sujets similaires à "code vba decalage alphabet"