[VBA]Traitement chaine de caractère

Fermé
Julie - 23 févr. 2006 à 15:47
 cleo00 - 8 avril 2008 à 15:52
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 !!
A voir également:

5 réponses

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
Yes !!

Merci infiniment, ça marche trop bien ! Franchement bravo !
1
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
23 févr. 2006 à 18:28
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
cleo00 > Araneae
8 avril 2008 à 15:52
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