IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

extraire et reconnaissance des caracteres


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut extraire et reconnaissance des caracteres
    Bonjour à tous,

    Après avoir fouiner un peu sur le net et le forum, je ne trouve pas exactement ce que je cherche, donc j'aimerai pouvoir extraire une chaine de caractère sous excel pour du traitement de numérologie.
    J'ai à savoir une cellule nom, une prénom.

    J'aurais besoin d'extraire par les initiales, les voyelles de prenom+nom, les consonnes de prenom+nom et la derniere lettre de prenom et nom; pour ensuite y appliquer des traitements mathématiques en fonction d'une grille lettre=numero.

    pour le moment, je suis obligé de rentrer manuellement les consonnes, voyelles etc etc dans des cellules différentes et j'aimerai automatiser la procédure.

    merci a tous et bon dev

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    une fonction VBA doit pouvoir faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Function ObtenirVoyelles(ByVal word As String, _
                    Optional blnVoyellesConsomnes As Boolean = True) As String
     
    Const strVoy As String = "aeiouy"
    Const strIgnore As String = " -."
    Dim strRes As String
     
    For i = 1 To Len(word)
        If InStr(strIgnore, Mid(word, i, 1)) = 0 Then
            If blnVoyellesConsomnes Then
                If InStr(strVoy, Mid(word, i, 1)) Then
                    strRes = strRes & Mid(word, i, 1)
                End If
            Else
                If InStr(strVoy, Mid(word, i, 1)) = 0 Then
                    strRes = strRes & Mid(word, i, 1)
                End If
            End If
        End If
    Next i
    ObtenirVoyelles = strRes
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ?obtenirvoyelles("Jean-Claude",False)
    JnCld
    ?obtenirvoyelles("Jean-Claude",True)
    eaaue

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Une autre approche (pour tout extraire) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub Command1_Click()
     Dim toto As String, titi() As Byte, mesvoyelles As String, mesconsonnes As String
     Dim mesinitiales As String, jeuvoyelles As String, I As Integer, quoi As String
     
     toto = "Jeanne-Marie, Célestine Dupont"
     
     titi = StrConv(toto, vbFromUnicode)
     jeuvoyelles = "aeiouéèyùüïê"
     mesvoyelles = ""
     mesconsonnes = ""
     mesinitiales = Chr(titi(0))
     For I = 0 To UBound(titi)
       quoi = Chr(titi(I))
       If I < UBound(titi) Then
         If InStr(" ,-", Chr(titi(I + 1))) > 0 Then
           mesinitiales = RTrim(mesinitiales & Chr(titi(I + 2)))
         End If
       End If
       If UCase(jeuvoyelles) Like "*" & UCase(quoi) & "*" Then
         mesvoyelles = mesvoyelles & quoi
       ElseIf quoi <> " " And quoi <> "-" And quoi <> "," Then
         mesconsonnes = mesconsonnes & quoi
       End If
     Next
     MsgBox "Voilà mes initiales : " & mesinitiales & vbCrLf & "Voilà mes voyelles :" & _
     mesvoyelles & vbCrLf & "Voilà mes consonnes : " & mesconsonnes
    End Sub

Discussions similaires

  1. extraire des caracteres spéciaux
    Par c.boche dans le forum SQL
    Réponses: 1
    Dernier message: 04/01/2010, 11h29
  2. reconnaissance des caracteres avec java
    Par diament dans le forum Graphisme
    Réponses: 2
    Dernier message: 26/03/2009, 17h33
  3. [XSLT] Reconnaissance des caractères accentués
    Par stepd dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 17/08/2006, 13h37
  4. [langage] compter des caracteres dans une chaine
    Par louisis dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2004, 22h39
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo