Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2012, 09h30   #1
Invité régulier
 
Inscription : août 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 24
Points : 6
Points : 6
Par défaut Ecrire ligne complete

Bonjour,

Sous delphi 2007, je veux écrire une ligne complète dans Excel donc sur N colonnes au lieu de faire cellule par cellule.

Au lieu d'avoir cellule(A,1):=AAA; cellule(B,1)=BBB; ...
je veux cellule (A1,B1)="AAA;BBB"

J'aimerais savoir quel est le séparateur entre les valeurs de chaque cellule qu'il faut utiliser pour faire ceci.
Car j'ai remarqué que c'est une sorte d'espace quand on copie d'excel vers un fichier texte.
gorka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 10h09   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je pense que c'est plus un problème Delphi qu'Excel. Tu utilises le pilotage Ole d'Excel ? Dans ce cas j'ai l'impression qu'il faut utiliser un tableau tout simplement.
Je ne vois pas trop de quoi tu parles quand tu dis "quand on copie d'excel vers un fichier texte". Ou alors tu génères un fichier texte que tu ouvres ensuite dans Excel ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h09   #3
Invité régulier
 
Inscription : août 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 24
Points : 6
Points : 6
Oui j'utilise un Ole Excel avec Excel2000. En fait, ce que je veux c'est ceci:
var
Worksheet: _Worksheet;
begin
//Code voulu
//CellNameDebut=A1 et CellNameFin=C1
Worksheet.Range[CellNameDebut,CellNameFin]:='aaa;bbb;ccc'

//Code précédent
Worksheet.Range[CellNameDebut,EmptyParam]:='aaa;'
Worksheet.Range[CellName2,EmptyParam]:='bbb'
Worksheet.Range[CellNameFin,EmptyParam]:='ccc'


et j'aurais en A1=aaa, en B1=bbb et C1=ccc

Car en fait, je dois créer un fichier Excel contenant des milliers de lignes (et plusieurs données par ligne) et ca prend énormément de temps. Pour le moment, j'écris cellule par cellule et j'aimerais, pour gagner du temps, écrire ligne par ligne.

PS: je ne sais pas encore si je vais gagner du temps ou non
gorka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h22   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Tu as regardé dans la FAQ ? J'ai trouvé ceci
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h45   #5
Invité régulier
 
Inscription : août 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 24
Points : 6
Points : 6
L'exemple que tu m'as passé, c'est pour récupérer les données.
Pour ma part, je veux écrire N string différentes dans N cellules.
gorka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 12h06   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Alors :
1/ Tu n'écris pas dans le bon forum
2/ Tu ne lis même pas les liens qu'on te donne

Ce n'est pas évident de t'aider !

Si tu avais lu le code proposé, il récupère effectivement les données, mais il les modifie et les remet dans le classeur.
Et comme tu le vois il passe par un tableau en utilisant le type Variant.
Je n'ai jamais fait de Delphi, mais je suppose que tu peux créer un tableau, le remplir et à la fin utiliser la dernière ligne du code d'exemple. Ca devrait être plus rapide.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h09.


 
 
 
 
Partenaires

Hébergement Web