Copy avec répertoire à taille variable [Résolu]

Signaler
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013
-
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013
-
Bonjour,

Je dois me déplacer de classeur Gab1 en classeur Gab2, etc..., sans en connaître le nombre, et inscrire les copies G6, I33, etc...dans le classeur Synth (tableau, "B12:E12"), ligne après ligne.
Dois-je utiliser une fonction du genre "UserRange.Rows.Count" ??
Désolé de t'embêter avec si peu, mais je suis vraiment perdu!
Encore merci de ton aide.

10 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
Il me semble que :
1) - cette question est (semble-t-il) : comment ouvrir, un derrière l'autre, plusieurs classeurs nommés "Gab" & n (où n est un nombre) présents dans un dossiers. Au fait : avec quelle extension (tu n'en parles pas) ?

Réponds d'abord à cette remarque. Ta réponse va en effet conditionner une modification du titre que tu as donné à la présente discussion ...

2) - et de les traiter un après l'autre pour tes copies (et cet aspect-là a déjà été traité dans ton autre discussion ! A toi de savoir ensuite "assembler" convenablement).
3) "et inscrire les copies G6, I33, etc...dans le classeur Synth (tableau, "B12:E12"), ligne après ligne" est à la fois incompréhensible et irréalisable, sauf à y inscrire sur des feuilles différentes dont tu ne parles pas.
4) UserRange est un objet totalement inconnu de VBA/Excel. Que serait-il, dans ton esprit, donc ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

Précisions:
Les classeurs "Gab" & n sont en .xlsx
Le classeur "Synth" est en .xlsm.
Voilà ce que j'essaye de faire:
Dans 1 répertoire M:\Test j'ai une succession de classeur "Gab(n).xlsx" tous de même structure dont la quantité sera variable.
il faudrait récuperer les valeurs des cellules G6, H33,I34 et J35 de chaque fichier Gab(n).xlsx et les coller dans le classeur Synth.xlsm à partir de "B12" pour Gab1, "B13" pour Gab2, et ainsi de suite pour tous les classeurs Gab(n).xlsx.
Je me suis trompé, ce n'est pas UserRange, mais UsedRange.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Vu ta réponse/commentaire ...
Et maintyenant : que ne sais-tu faire ?

1) - Parcourir en boucle le dossier ?
2) - ouvrir et traiter chaque classeur ainsi "retenu" ?
3) - savoir à quelle ligne du classeur "Synth.xlsm" tu fais tes ajouts ?

Car pour le reste (lire dans un classeur , copier et coller dans u n autre ordre sur l'autre) , la réponse r'a déjà été données dans une autre discussion.

Comme tu le sais (lecture du règlementt), on ne traite pas ici un ensemble de difficultés, mais une difficulté spécifique et parfaitement isolée.
Laquelle choisi(tu donc de traiter dans cette discussion parmi les 3 dont il s'agit ?
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

c'est sympa de me suivre.Merci.
Précédemment, j'essayai d'expliquer ce que je cherche à faire.
Pour l'instant j'ai des difficultés avec ton n°2.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
" c'est sympa de me suivre.Merci.
Précédemment, j'essayai d'expliquer ce que je cherche à faire.
Pour l'instant j'ai des difficultés avec ton n°2.

"
Essaye s'il te plait de répondre en utilisant le bouton "Répondre au sujet" et non en commentant tes propres messages, car on ne s'y retrouve plus !
Nous n'allons donc que traiter le point 2 (ce qui veut dire que tu sais résoudre le point 1, qui est le parcours en boucle des fichiers qui t'intéresse dans ton dossier)
Le problème est alors simple :
Pour chaque fichier trouvé dans cette boucle et à traiter :
- tu l'ouvres avec Workbooks.Open ouvre ton aide VBA sur ce mot. Et lis la rubrique relative à cette méthode.
- tu le traites dans la foulée (comme je te l'ai montré dans ton autre discussion)
- tu le fermes


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

ma boucle a bien l'air de fonctionner et les infos s'écrivent ligne après ligne, cependant, ce sont toujours celles du premier fichier et je n'arrive pas à lire les infos du deuxième, troisième, ect...!!
Quelqu'un aurait-il une solution?
Merci.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Montre le code que tu as écrit
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

Merci de ton aide.
Voici le code:

Sub EssaiSynth()
ChDir "M:\MARC\Facture-Gab\Fact-Synth\"
DossierFactures = Dir("M:\MARC\Facture-Gab\Fact-Synth\*.xlsx")
'ouverture dossier facture
Workbooks.Open "M:\MARC\Facture-Gab\Fact-Synth\" & DossierFactures
'Début boucle
Dim j As Integer
j = 12
Do While Len(DossierFactures) > 0

'traitement data
Dim plage As Range, desti As Range, i As Integer
Set desti = Workbooks("Synth-Test.xlsm").Worksheets("Feuil1").Range("B" & j)
Set plage = Range("G6, H33,I34, J35")
For i = 1 To plage.Areas.Count
desti.Offset(0, i - 1).Value = plage.Areas(i).Value
Next
DossierFactures = Dir
j = j + 1
Loop

End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Ben !!! C'est une plaisanterie ?
Tu n'ouvres qu'un seul classeur (le tout premier trouvé), puisque ta ligne :
Workbooks.Open "M:\MARC\Facture-Gab\Fact-Synth\" & DossierFactures 
est écrite avant la boucle de parcours des fichiers de ton dossier !
C'est chaque fichier trouvé dans ta boucle, que tu dois ouvrir par WorkBooks.Open et traiter !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

Merci.
je suis désolé de la question.....! Mais c'est la chose que je ne voyais pas. le reste me semblais correct.
Comme quoi, un oeil neuf!!!!!

en tout cas encore merci.