insérer des lignes dans des fichiers - VB/VBA/VBS - Programmation
Marsh Posté le 15-04-2008 à 09:58:11
Ceux qui conseillent de programmer en VBA devraient aider les personnes à qui ils conseillent ça ; ils verraient que ça n'est pas toujours la meilleure méthode.
Déjà, VBA veut dire Visual Basic for Application, soit un langage de prog lié à un logiciel Microsoft (Excel, Word, Outlook, Access, Powerpoint, ...)
Dans ton cas, ça ne va pas.
Il te reste donc VB6 ou VBS pour faire ton projet.
VB6 passe par une pseudo compil qui délivre un .exe nécessitant des dll de runtime et donc un processus d'installation : un brin chiant pour faire un truc vite fait.
Reste VBS, et en dehors du fait que je ne maîtrise pas trop cette variante de VB, je te conseille d'expliquer ce que fait ton script, car tout le monde ici ne saura pas l'interpréter correctement.
Marsh Posté le 15-04-2008 à 11:38:56
Bonjour,
j'ai une collection de 195 fichiers. je dois parcourir chaque fichier et lorsque je trouve une ligne
Insert Into DISCOUNT_RESTRICTIONS Values (26255, 5, 3, 15, 0)
je dois insérer à la suite
Insert Into DISCOUNT_RESTRICTIONS Values (26255, 5, 3, 93, 0)
bien sur pour chacun des 195 fic il existe un nombre variable de codes (connus pour chaque fichier) comme "26255" pour lesquels l'opération doit être faite.
Marsh Posté le 15-04-2008 à 13:05:58
Salut, peut-être en adaptant qqch comme
|
Marsh Posté le 16-04-2008 à 15:50:06
Le manque de fichiers échantillons se fait sentir, passer par http://cjoint.com/ ou http://www.cijoint.fr/
Marsh Posté le 18-04-2008 à 12:00:54
Grand merci à kiki29, mon vba est revenu un peu et sa solution a été légèrement modifiée, ça marche nickel.
Marsh Posté le 14-04-2008 à 18:31:12
Bonjour, en vue d'insérer des lignes dans des fichiers, J'ai écrit ça en shell unix, mais ça ne marche pas. On m'a conseillé de le faire en vba. Quelqu'un pourrait-il maider?
Merci.
: avec un fichier d'entree "entree.csv" (voir plus bas)
IFS="!"
if [ $# -lt 1 ]
then
echo "nom du fichier[.csv]"
exit
fi
for lg in `cat $1`
do
Code=`echo $lg | awk -F";" '{ printf "%s", $1 }'`
Chaine = `echo $lg | awk -F";" '{ printf "%s", $2 }'`
Fichier=`echo $lg | awk -F";" '{ printf "%s", $3 }'`
cat $Fichier | while read theline
do
echo "$theline" >> titi
if [ "$theline" = "Insert Into DISCOUNT_RESTRICTIONS Values ("$Code", 5, 3, 15, 0)" ]
then
echo "Insert Into DISCOUNT_RESTRICTIONS Values ("$Code", "$Chaine)" >> titi
fi
done
done
mv titi $Fichier
----------------------------------------------------------------------
fichier d'entree "entree.csv"
26231; 5,3,93,0;g041000.sql;!
27753; 5,3,93,0;g041000.sql;!
26233; 5,3,93,0;g041001.sql;!
27754; 5,3,93,0;g041001.sql;!
26235; 5,3,93,0;g041002.sql;!
27755; 5,3,93,0;g041002.sql;!
26237; 5,3,93,0;g041003.sql;!
27756; 5,3,93,0;g041003.sql;!
26263; 5,3,93,0;g041027.sql;!
26264; 5,3,93,0;g041027.sql;!
26265; 5,3,93,0;g041027.sql;!
26266; 5,3,93,0;g041027.sql;!
26267; 5,3,93,0;g041027.sql;!
26268; 5,3,93,0;g041027.sql;!
26269; 5,3,93,0;g041039.sql;!
26270; 5,3,93,0;g041039.sql;!
26291; 5,3,93,0;g041048.sql;!