copier cellules classeur vers 1 classeur

  • Initiateur de la discussion Initiateur de la discussion kciop
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kciop

Guest
je n arrive pas a copier les valeur que je veux de plusieur classeur type dans un classeur confere piece jointe.

si quelqu un pouvais m aider parce que la je n y arrive vraiment pas.
et je commence a desseperer

merci d avance
 

Pièces jointes

Salut,

Mettre un fichier Word avec du code, c'est pas terrible pour avoir des réponses.

Pourquoi tu utilises Formulaarray ? tu es sûr que tes fichiers sont dans le même répertoire que ton classeur où tu récupères tes données =>Thisworkbook.path ?


A+++
 
ben meme quand mes fichier son ds le meme rep il me met false

maintenant j y connais pas grand chose en vba. formulearray c le seul truc que j ai trouvé
mais c sur qu un vba plus simple serai mieux qui peut m aider

le but est de pouvoir recuperrer les données de plein feuilles excels type.chaque feuille correspondant a un numero de lot (ex:fichier c:\multi\2004\3 avril\F4DN04088.xls correspond au numero de lot F4DN04088)
dans ces feuilles on saisie des valeurs (ex: taux rebuts sur le lot)
maintenant pour exploiter ces valeur il faut ouvrir chaque classeur et copier quelque cellule clé(comme le taux rebus)dans un classeur dont le chemin n'est pas forcement ds le repertoire des fichiers sources.

donc j avais commencé a faire un vba qui liste les fichiers a traiter ds la 1 er colonne A10 à nbre de fichier trouvé

mais ensuite je n y arrive plus et je bloque depuis 1 semaine

rq: certaines cellule a copier sont en realité plusieur cellule fusionner

ex:E42=E42+E43+F42+F43

merci pour le coup de main

je n ai pas trouver d ex vba simple permettant de faire cela
 

Pièces jointes

Ce sujet m'interresse.
Mais mon problème est quelque peu différente.
Voilà : tous les mois, je dois faire un tableau previsionnel des achats à effectuer dependant de mon stock final du mois dernier.
Donc pour cela, j'ai un classeur contenant 18 (18 agence) par mois.
dans chaque classeur, il a une colonnes(A1:A12) pour les stock du mois dernier pour chaque produit une plage de colonne pour les appros et vente rélisés et la dernière colonne est le stock final(M1:M12).
J'aimerais creer un module qui va me lister les classeurs des dernier mois (qui sont dans un dossier bien defini) dans un combo(ex Mars.xls) puis cree un nouveau fichier(Avril.xls) dont le contenu est le même que celui du fichier selectionnée dans le combo;ensuite, le module va recuperer la dernière colonne(ex M1:M12) de chaque classeur de Mars.xls et le recopier dans les colonnes A1:A12.

j'espère être assez clair

Merci de votre aide
 
bonjour Kciop , Zon et Andry

Lien supprimé

Lien supprimé


Kciop , il y a une erreur de saisie dans la macro

With ActiveSheet.Cells(Cell.Row, Y)
.FormulaArray = "='" & ThisWorkbook.Path = ActiveCell.Value & "\[" & Cell & "]" & "sheet1" & "'!" & Cells(44, Y + 1).Address(0, 0

de plus , comme te le fait remarquer Zon et comme je te l'avais déja precisé dans un autre fil cité plus haut , si tes fichiers sont dans un autre repertoire il ne faut pas utiliser ThisWorkbook dans la procedure , mais par exemple "C\Mes documents".....

en attendant tu peux essayer ( je n'ai pas testé )

For Each Cell In Range("A10:A67")
For Y = 3 To 9
With ActiveSheet.Cells(Cell.Row, Y)
.FormulaArray = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "sheet1" & "'!" & Cells(44, Y + 1).Address(0, 0)
.Value = .Value
End With
Next Y
Next Cell

ou , si tu veux conserver les liaisons

For Each Cell In Range("A10:A67")
For Y = 3 To 9
With ActiveSheet.Cells(Cell.Row, Y)
.Formula = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "sheet1" & "'!" & Cells(44, Y + 1).Address(0, 0)
End With
Next Y
Next Cell


bonne soiree
michel
 
Re,

Merci Michel d'être passé par là. Je trouve que c'est pas terrible de travailler avec des liaisons,

Une autre façon de faire plus simple pour commencer, on ouvre les classeurs. Il y a l'ADO aussi mais pour l'avoir expérimenter ça plante pas mal...

Pour Andry: le chemin est en B2 et l'extension en B3, on recherche dans les sous répertoire. tu peux l'adapter bien entendu dans un userform avec 2 texbox.


Sub Princ()
Dim T, I&, Plage As Range
Dim WB1 As Workbook, WB2 As Workbook
Application.ScreenUpdating = False
T = ChercheFichier([B3].Text, [B2].Text, True)
If IsArray(T) Then
Set WB1 = ThisWorkbook
For I = 1 To UBound(T, 1)
Set WB2 = Workbooks.Open(T(I, 1))
Set Plage = WB2.Sheets(1).Range("A1:M12") '
With WB1.Sheets(1)
.Range("A65536").end(xlup)(2) = T(I, 1)
.Range("D65536").end(xlup)(2).Resize(Plage.Rows.Count, Plage.Columns.Count) = Plage.Value
End With
WB2.Close 0
Next I
End If
End Sub

'Cherchefichier renvoie un tableau avec tous les nom de fichirs présent dans un répertoire suivant son nom ou son extension mettre true pour sourep pour rechercher dans les sous repertoire.

Function ChercheFichier(Extension$, Rep$, Optional Sourep As Boolean)
Dim I As Long, Tablo
If Not Right(Rep, 1) = "\" Then Rep = Rep & "\"
On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Rep
.Filename = Extension
.SearchSubFolders = Sourep
.Execute
ReDim Tablo(1 To .FoundFiles.Count, 1 To 1)
For I = 1 To .FoundFiles.Count
Tablo(I, 1) = .FoundFiles(I)
Next I
End With
On Error GoTo 0
ChercheFichier = Tablo
End Function

A+++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
543
Réponses
20
Affichages
965
Réponses
9
Affichages
731
Réponses
3
Affichages
542
Retour