Incrémenter une colonne

Résolu
titouf -  
 titouf -
Bonjour,

Je travaille actuellement sur un projet dans lequel il faut que je mette les données de plusieurs classeurs (de structure identique) dans un classeur comparatif.

Voici par exemple un extrait de mon code :
wbk.Activate
valeur_cellule = Range("U346").Value
Windows(classeur_pvc).Activate
Range("D12").Value = valeur_cellule

wbk.Activate
valeur_cellule = Range("U347").Value
Windows(classeur_pvc).Activate
Range("D13").Value = valeur_cellule

wbk.Activate
valeur_cellule = Range("U348").Value
Windows(classeur_pvc).Activate
Range("D14").Value = valeur_cellule

wbk.Activate
valeur_cellule = Range("U349").Value
Windows(classeur_pvc).Activate
Range("D15").Value = valeur_cellule


Assez simple donc. Mon problème est le suivant :
Puisque je souhaite comparer plusieurs fichiers, je souhaite écrire mes données dans différentes colonnes, en l'occurence les colonnes D, E, F... etc jusqu'à la fin de mes fichiers. Je pensais donc faire une boucle en traitant les fichiers un par un, mais je ne sais pas comment faire pour écrire dans des colonnes différentes. Je pensais écrire le nom de la colonne à côté du nom du fichier lu dans le classeur contenant la macro. Je pense cependant qu'il existe une méthode pour faire ceci automatiquement... Peut être pas ! Pouvez vous m'éclairer ?

Merci d'avance,
titouf


A voir également:

4 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bah honnêtement, la retranscription ne me semble pas difficile du tout, il suffit de piocher mes données et de les mettre dans les bonnes cellules...



Alors pourquoi demander de l'aide


Adieu
1
titouf
 
A noter qu'il suffit d'écrire Cells(12, 4) au lieu de D12 pour pouvoir incrémenter la colonne facilement. Comme quoi il y a un big gap entre les compétences des gens d'un forum à l'autre. Enfin pour le coup vu la facilité du truc c'est juste un problème de cerveau...
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour,

Il faudrait nous en dire +

les fichiers source sont ils dans le même dossier ?
et
ont ils un nom générique s'ils ne sont pas les seuls dans le dossier, sur quel version d'Excel (<2007 ou >=2007) ?
et
combien de fichiers environ?
et
on a que 4 lignes à transférer ?
et
sinon, a t on toujours le même nombre de lignes ?

au besoin
Mettre un classeur source sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse

Dans l'attente


0
titouf
 
Bonjour michel et merci pour ta réponse.

Les fichiers source sont tous dans le même dossier, mais de toute façon je vais les chercher un par un avec la macro (mais il est vrai que j'aimerais bien que la macro aille les chercher tout seul en indiquant le dossier commun contenant ces fichiers)

Oui ils ont un nom générique, à savoir PVC_000xx, et c'est sur Excel 2010.
Le nombre de fichiers est variable, mais aux dernières nouvelles il y en avait à peu près une centaine.

Non il y a environ 350 lignes à transférer, j'ai juste mis ces 4 lignes pour montrer comment je faisais pour les prendre. En tout cas, on a toujours le même nombre de lignes oui, mes "PVC_000xx" sont identiques structurellement.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313 > titouf
 
OK, je te regarde çà dans la journée

je me baserai sur la colonne U range("U2:U500")
recopies des valeurs à partir de D2, E2.....

dernières questions: les fichiers sont ils sans macros (question suffixe)?

tu dis si on part bien des lignes 2

pur me faciliter le boulot met en pièce jointe un classeur source

pour cela:
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l'attente
0
titouf
 
Voici le lien d'un PVC type : http://www.cjoint.com/c/EKdkabCdTop

Je vais chercher les valeurs que tu pourras voir dans le document ci-dessus et je les mets dans mon classeur comparatif (http://www.cjoint.com/c/EKdkbogfI0p)

Les fichiers source (PVC) sont sans macro. Je vais chercher mes données à partir de la cellule U338 et je les mets dans mon classeur comparatif à partir de la cellule D4.
Je voudrais donc mettre mes données du PVC00001 dans la colonne D, le suivant dans la colonne E etc.

Merci d'avance
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
le gros problème est dû aux cellules fusionnées qui grèvent lourdement toutes macros
de ce fait j'ai Plus de 30 blocs de données à transférer entre la ligne 338 et 1579 et j'ai peur que la solution envisagées (ADO+SQL) plante de ce fait

je vais faire un essai et te tiens au courant mais soit patient car qqsoit la solution ce sera une usine à gaz

De plus le pb a très peu à voir avec la demande initiale...

Michel
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
La présentation du comparatif avec le fichier est différente, notamment entre les lignes 39 et 71, rendant très compliqué la retranscription des fichiers source déjà difficile !!! :-(((

soit tu rectifies ce comparatif pour qu'il reflète exactement les métadonnées des sources ou j'abandonne étant déjà échaudé par la différence du 1° post et la réalité
0
titouf
 
En effet, à cause de ces cellules fusionnées j'ai opté pour prendre la valeur de la cellule et non la copier/coller.

Je n'ai peut être pas été clair dans ma demande initiale, mais c'est pourtant bien ce que je souhaite faire. Actuellement je prends mes 350 données et les mets dans ma colonne D pour le PVC00001, je souhaite simplement faire pareil avec mes autres PVC en changeant de colonne à chaque fois ! Je souhaite juste "incrémenter" ma colonne pour passer de D puis E puis F etc via une boucle for par exemple...

En tout cas, pas de problème je serai patient !
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313 > titouf
 
lis ce que je t'ai marqué !!!

La présentation du comparatif avec le fichier est différente, notamment entre les lignes 39 et 71, rendant très compliqué la retranscrip
0
titouf
 
Bah honnêtement, la retranscription ne me semble pas difficile du tout, il suffit de piocher mes données et de les mettre dans les bonnes cellules...

Mais je ne comprends pas, ma demande correspond bien à la réalité, ou alors il y a une erreur de communication. Je veux juste mettre mes données dans différentes colonnes, sans avoir à stipuler une par une les cellules destinataires. Sachant que ma macro remplit actuellement ma colonne D pour le PVC00001, je veux que mes données du PVC00002 aillent dans la colonne E etc... Sans avoir à réécrire mes 1500 lignes qui vont écrire dans ma colonne D, mais en utilisant une boucle for (ou autre méthode dont je serais tout ouïe)

Bref, ne suis je peut-être pas assez clair...
0
titouf
 
Bon vu que tu fais ton propre modérateur, je remets le message ici :

Je tiens à remercier michel pour son aide précieuse, j'ai déjà pu remarquer que tu étais très utile dans d'autres sujets, merci pour cette incompréhension du sujet qui surpasse l'entendement. Congrats.
0