AU SECOUR : Se servir de LEFT dans une macro ?

RV2Nantes

XLDnaute Nouveau
Je suis en thèse et je dois modifier la forme de ma bibliographie. Pour le moment elle est en format .doc du genre par référence : toto H., 2005, Mes meilleurs blagues, Mickey journal, 3, 2, 67-126. Je veux l'implanter dasn un logiciel spécial, pour ce faire je dois définir ma biblio en .txt avec une tabulation pour NOM, ANNE, TITRE, JOURNAL, ...
Je veux donc éclater le nom, l'année, le titre, le journal, ... dans une feuile excel, puis sauver en .txt (je n'ai jamais fait de macro sous word).
Pour ce faire j'ai essayé de faire une macro sous excel (je suis très mauvais) :
Je met une référence complète dans une cellule.
Je lis la référence
Je regarde pas à pas les lettres de la référence et dès que je tombe sur le chiffre 1 ou 2 j'ai fini de lire le nom (tous les articles sont entre 1960 et 2005).
Puis : dès que je lis une ',' j'ai fini l'année
puis : ...
Pour ce faire j'utilise la left, mais je n'arrive pas à gérer le format de lecture de la fonction left

For i = 1 To 500
For j = 1 To 100
Sheets('feuil1').Select
x = Cells(i, 1)
y = '=LEFT(X,j)'
If y=1 then
je n'ai pas encore écrit le programme
end if
Next j
Next i

Comment faire ? Si quelqu'un peut m'aider ce serait super car je suis en train de finir de rédiger ma thèse ...
 

Luki

XLDnaute Accro
bonsoir Rv2nantes,

Si j'ai compris le problème, il s'agit d'éclater ta biblio en plusieurs colonnes dans excel, four faire tes modifs et pouvoir l'enregistrer au bon format.( .txt avec tabulation)

Il y a un moyen peut- être plus simple que la macro si tes données sont correctement organisées dans ton doc ( par ex séparées par des virgules).

Voici une copie de l'aide trouvée dans excel en cherchant ' importer des fichiers textes':
Séparer en colonnes du texte copié
1 Passez dans le programme et le fichier dont vous souhaitez copier les données.
2 Sélectionnez les données que vous souhaitez copier.
3 Dans le menu Edition du programme, cliquez sur Copier.
4 Passez dans votre classeur Microsoft Excel, cliquez sur la cellule située en haut à gauche de la zone de collage, puis sur le bouton Coller .
5 Sélectionnez la plage de cellules contenant les données collées.

La plage peut s'étendre sur un nombre illimité de lignes en hauteur, mais sur une largeur limitée à une seule colonne.

6 Dans le menu Données, cliquez sur Convertir.
7 Suivez les instructions de l'Assistant Conversion afin d'indiquer la méthode que vous souhaitez utiliser pour séparer le texte en colonnes.

J'ai fait un essai avec des données séparées par des virgules et ça marche bien.

En espérant que ça répondra à ta demande.
 

Discussions similaires

Statistiques des forums

Discussions
312 585
Messages
2 089 997
Membres
104 335
dernier inscrit
NicoExcel54