[VBA]Traitement chaine de caractère

Julie -  
 cleo00 -
Salut !!!

Voilà j'aimerai transformer cette chaine :

NON Prénom

en :

Prénom.Nom

en VBA, ou directement sur une feuille excel. Il est à noter que la casse n'est pas à respecter.

Pour etre franche, je ne vois pas vraiment comment faire...

Un grand merci d'avance en tout cas !!

5 réponses

  1. Lupin
     
    Bonjour,

    exemple :

    Sub xfrNom()
    
        Dim CeNom As String
        Dim xfrNom As String
        Dim Position As Integer
        
        CeNom = "Nom Prenom"
        Position = InStr(1, CeNom, " ", vbTextCompare)
        xfrNom = Mid(CeNom, (Position + 1))
        xfrNom = xfrNom & "." & Mid(CeNom, 1, (Position - 1))
        MsgBox xfrNom
    
    End Sub
    
    


    Lupin
    2
  2. Julie
     
    Yes !!

    Merci infiniment, ça marche trop bien ! Franchement bravo !
    1
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Un cas presque similaire qui pouvait t'inspirer a été déjà posté
    http://www.commentcamarche.net/forum/affich-2046976-vba-traitement-d-une-chaine-de-caractere#14
    1
    1. ema
       
      salut mon ami,je suis qu'un debutante et c'est tres tres urgent STP STP aide moi j'ai beaucoup essayé mais maintenant je n'ai plus de temps. STP STP STP fait le pour moi
      il s'ait des chaine de caractére (on n'a pas le droit d'utiliser les pointeurs)
      conjugaison d'un verbe du premier groupe au present,futur,imparfait.
      mon probleme c'est que j'ai pas sue integrer les cas speciaux qui sont:
      *lorsque le verbe commence avec une voyelle on le je devient j'
      *lorsque le verbe se termne avec un "ger" ,on ajoute le "e"
      *en cas du verbe "aller" on dit que ce n'est pas un verbe du 1er roupe
      voici le programme que j'ai fait, il marche mais il ne contient pas les cas:
             #include <stdio.h>
      
      #include <string.h>
      main()
      {
      /* Déclarations */
      /* Sujets et terminaisons */
      char suj1[6][5] = {"je","tu","il","nous","vous","ils"};
      char suj2[6][5] = {"j'","tu","il","nous","vous","ils"};
      char term1[6][5] = {"e","es","e","ons","ez","ent"};
      char term2[6][7] = {"erai","eras","era","erons","erez","eront"};
      char term3[6][7] = {"ais","ais","ait","ions","iez","aient"};
      char verb[20]; /* chaîne contenant le verbe */
      int l; /* longueur de la chaîne */
      int i; /* indice courant */
      /* Saisie des données */
      printf("verb : ");
      scanf("%s", verb);
      /* Contrôler s'il s'agit d'un verbe en 'er' */
      l=strlen(verb);
      if ((verb[l-2] != 'e') || (verb[l-1] != 'r'))
      printf("\"%s\" n'est pas un verbe du premier groupe.\n",verb);
      else
      {
      /* Couper la terminaison 'er'. */
      verb[l-2]='\0';
      /* Conjuguer ... */
      printf("la conjugaison du verbe au present est:\n");
      for (i=0; i<6; i++)
      {
      printf("%s %s%s\n",suj1[i], verb, term1[i]);
      }
      verb[l-2]='\0';
      printf("la conjugaison du verbe au futur est:\n");
      for(i=0; i<6; i++)
      {
      printf("%s %s%s\n",suj1[i], verb, term2[i]);
      }
      verb[l-2]='\0';
      printf("la conjugaison du verbe a l'imparfait est:\n");
      for (i=0; i<6; i++)
      {
      printf("%s %s%s\n",suj1[i], verb, term3[i]);
      }
      return 0;
      }
      }
      0
  4. deug00
     
    bj

    j'aimerais bien avoir quelque méthode pour écrire des algorithmle qui traite les chaine de caractére;
    par exemple : diviser ou scinder une chaine de caractére
    merci d'avance
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. leo00
     
    slt, je travail sur un pfe
    voici mon probléme: g une chaine de caractere "Nom prenom adresse" troi champs separés par un espace ,cette derniere se situe ds la cellule A1(excel)
    j'aimerai ke kelk'un m'aide a cree un programme (vba) ki permet de placer les trois champs ds des cellules differentes
    la solution devrai êtr ainsi :
    Nom ds la cellule A1
    Prenom ds la cellule b1
    adresse ds la cellule C1

    g plein d'idée en tête mes jnarriv pa a les mettre en pratique....
    si kelkun pourrai m'aider...
    un grand merci
    1
    1. Araneae
       
      Pas besoin de VBA pour ça. Excel peut scinder automatiquement les informations d'une colonne en N colonnes si ces informations sont séparées par un caractère particulier. Ici c'est ESPACE.

      1-Sélectionner la colonne A
      2-Données -> Convertir -> Délimité
      3-Choisir le délimiteur Espace

      Et terminer.
      0
      1. cleo00 > Araneae
         
        Merci Araneae pour ta reponse, mais depuis le temps j'ai déja resolue le cas...

        bhen en fait j'ai un autre probléme, J'ai créé un spreadsheet dans ma userform.J'aimerai ecrire un programme qui permet d'ouvrir un fichier txt dans la "spreadsheet"
        (c'est possible manuellement dans la fenetre "proprietes de pages" dans l'onglet "importer" on saisi le chemin du fichier a ouvrir dans le champ "url")
        Si ce n'est pas possible y a t-il un moyen de copier le contenue de plusieurs feuilles dans ma spreadsheet, j'ai essayé avec la methode "copy" mais ca ne marche pas.

        Merci d'avance
        0