Rechercher : dans
Par :

[VBA]Traitement chaine de caractère

Dernière réponse le 8 avr 2008 à 15:52:25 Julie, le 23 fév 2006 à 15:47:18 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [VBA]Traitement chaine de caractère » dans :
VBScript - Les fonctions de chaînes de caractères Voir Les fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

Lupin, le 23 fév 2006 à 17:57:07

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

Répondre à Lupin

2

Julie, le 23 fév 2006 à 18:28:22

Yes !!

Merci infiniment, ça marche trop bien ! Franchement bravo !

Répondre à Julie

3

lami20j, le 23 fév 2006 à 18:28:44

Salut,

Un cas presque similaire qui pouvait t'inspirer a été déjà posté
http://www.commentcamarche.net/forum/affich-2046976-vba-trai­tement-d-une-chaine-de-caractere#14

Répondre à lami20j

4

ema, le 26 fév 2006 à 13:38:10

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;
}
}

Répondre à ema

5

deug00, le 30 nov 2007 à 17:27:38

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

Répondre à deug00

6

leo00, le 12 mar 2008 à 09:52:21

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

Répondre à leo00

7

Araneae, le 29 mar 2008 à 16:24:00

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.

Répondre à Araneae

8

 cleo00, le 8 avr 2008 à 15:52:25

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

Répondre à cleo00
Collection CommentÇaMarche.net