Aide VBA macro excel

Fermé
thierry - 8 juil. 2008 à 09:02
 skyvi - 8 juil. 2008 à 11:16
Bonjour a tous,
Tout dédutant dans le VBA, je me sent vraiment vraiment tout petit ...
Voici mon exercice :

Colonne A ( les titres )
Colonne B ( le texte )
Colonne C ( Le nom du dossier pour l'enregistrement )
Colonne D ( Le nom du fichier pour l'enregistrement )

But : Avoir le titre et le texte sur un fichier txt dont le nom est indiqué en D et dans un dossier indiqué en colonne C.
Dans les colonnes A et B il y a des celules vides et dans C et D il y a des doubles.

Exemple de donnees :
A B C D
1 Famille Dupont Dupont Famille-Dupont
2 - Le pere Dupont Famille-Dupont
3 - La Mere Dupont Famille-Dupont
4 Famille Toto - Le fils Toto Famille Toto
5 - La belle mer Toto Famille Toto
6 Famille Durand - Le pere Durand Famille Durand
7 Famille Robert Robert Famille Robert
8 - Le fils Robert Famille Robert
etc etc ...

Voila qui reuni je pense tous les cas de figure :
Je voudrais a partir de ces donnees que ma macro me cree :

Le dossier c:\ chemin\Dupont\Famille-Dupont.txt
Famille-Dupont
- Le pere
- La Mere

Le dossier c:\ chemin\Toto\Famille-Toto.txt
Famille Toto
- Le fils
- La belle mer


Le dossier c:\ chemin\Durand\Famille-Durand.txt
Famille Durand
- Le pere

Le dossier c:\ chemin\Robert\Famille-Robert.txt
Famille Robert
- Le fils

J'ai essayé d'etre le plus clair que possible. Ca parait simple mais j'avoue que je seche completement.
Pour l'instant j'ai ca ( l'un d'entre vous m'a apporter ses precieuses competences ce n'est pas moi qui l'est fait ).

Sub MacroThierry()
'cette macro est contenue dans ton fichier initial
'(celui qui contient les titres et noms)

'déclaration des variables
Dim i As Integer '(compteur)
Dim Chemin As String '(chemin d'accès pour l'enregistrement)

Chemin = "C:\chemin\Nom\Fiche"

For i = 1 To 10 'début de la boucle
'crée un nouveau fichier
Workbooks.Add

'écrit le titre en A1 de la feuille 1 _
à partir de la colonne A de la feuille "Thierry"
ActiveCell.FormulaR1C1 = ThisWorkbook.Sheets("feuil1").Range("A" & i).Text

'enregistre sous le nom contenu dans la colonne B de la feuille "Thierry"
ChDir Chemin
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\" & _
ThisWorkbook.Sheets("feuil1").Range("B" & i).Text & ".txt", _
FileFormat:=xlText

'ferme le fichier
ActiveWorkbook.Close (False)

Next i 'fin de la boucle

End Sub


Cela fonctionne Cependant il ne faut pas qu'il y ai de doubles guillemets, en effet si j'ai un double guillemet dans une cellule cela doublera ce double guillemet a l'affichage et génèrera de plus un double guillemet en début de page et en fin de la page.
Désolé pour les répétitions, ce sera plus clair avec cet exemple.
Ex : La famille "Dupont" de paris
Devient : "La famille ""Dupont"" de paris"
Y a t'il un solution pour remédier à cela ?
Et il reste a resoudre
- Création du repertoire "Nom" sous celules de la colonne"C.
- Ne pas tenir compte des doubles pour C et D.
- Ne pas tenir compte des celules vides pour A et B ( Ah oui si ca peux aider il y a toujours cet "espace puis "-" en deuxieme caractere de toutes les cellules de la colonne B.)

Vraiment si quelqu un y voit clair la dedans et pouvait m'aider ca serait super sympa.
Thierry
A voir également:

2 réponses

jeager Messages postés 4364 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 14 février 2013 141
8 juil. 2008 à 09:03
bon, en attendant le pastis , on va se jeter une >mousse
0
jeager Messages postés 4364 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 14 février 2013 141
8 juil. 2008 à 09:04
excuse erreur !!!!!!!!!!!!
0
Bonjour,

Je suis moi aussi débutante en VBA et j'aurais voulu savoir si il était possible de faire un "dessin" en fonction des valeurs rentrées dans le tableau... En gros j'ai la taille de la personne, sont poids et je voudrais faire un dessin simpliste qui me permet de visualiser l'aspect de la personne... en gros tracer des traits et des cercles...
Merci pour vos réponses

Skyvi
0