Vince78740
XLDnaute Nouveau
Bonjour a Tous,
je cherche à créer un petit programme qui me permettrait de remplir une feuille d'un classeur avec les données de feuilles venant de différents classeurs.
Je suis arrivé a copier les données d'une feuille source d'un classeur que je vais sélectionner avec une boite de dialogue, dans le code je lui ai indiqué une cellule où coller la sélection dans ma feuille de destination.
Maintenant Je suis confronté a plusieurs problématiques que je n'arrive pas à résoudre dû a mon manque de connaissance d'Excel.
Mes feuilles sources ont un nombre de colonne fixe de A à D, le nombre de lignes lui peut varié
Pour commencer je voudrais réussir à faire
- Coller toutes les 4 colonnes car je dois garder les données précédentes
Mon approche n'est peut-être la meilleur mais je comptais affecter cette macro à chaque "Machine_X" en spécifiant le Range de destination mais le soucis est que si une ligne est ajoutée, tout est décalé et il faudrait que je modifie le Range de destination de toutes les macros
J'ai tenté pas mal de chose mais il m'en manque toujours un morceaux. Je vais continuer à lire tout ce que je trouve que le sujet même j'en suis certain je passe certainement a coté de la solution.
Merci d'avance pour l'aide que vous pourrez m'apporter.
Vincent
je cherche à créer un petit programme qui me permettrait de remplir une feuille d'un classeur avec les données de feuilles venant de différents classeurs.
Je suis arrivé a copier les données d'une feuille source d'un classeur que je vais sélectionner avec une boite de dialogue, dans le code je lui ai indiqué une cellule où coller la sélection dans ma feuille de destination.
Maintenant Je suis confronté a plusieurs problématiques que je n'arrive pas à résoudre dû a mon manque de connaissance d'Excel.
Mes feuilles sources ont un nombre de colonne fixe de A à D, le nombre de lignes lui peut varié
Pour commencer je voudrais réussir à faire
- Coller toutes les 4 colonnes car je dois garder les données précédentes
Mon approche n'est peut-être la meilleur mais je comptais affecter cette macro à chaque "Machine_X" en spécifiant le Range de destination mais le soucis est que si une ligne est ajoutée, tout est décalé et il faudrait que je modifie le Range de destination de toutes les macros
J'ai tenté pas mal de chose mais il m'en manque toujours un morceaux. Je vais continuer à lire tout ce que je trouve que le sujet même j'en suis certain je passe certainement a coté de la solution.
Merci d'avance pour l'aide que vous pourrez m'apporter.
Vincent
VB:
Sub SelectFichier()
Dim QuelFichier
QuelFichier = Application.GetOpenFilename("Excel, *.xlsx")
If QuelFichier <> False Then
Copie (QuelFichier)
Else
MsgBox "Vous n'avez pas sélectionné de fichier"
End If
End Sub
Sub Copie(QuelFichier)
Dim nomUn, NewBook As Workbook
Set nomUn = ThisWorkbook
Set NewBook = Workbooks.Open(QuelFichier)
NewBook.Activate
ActiveSheet.Range("$A$1:$G$3000").AutoFilter Field:=1, Criteria1:="<>"
'Selectionner toutes les cellules pleines
Dim MaPlage As Range
Set MaPlage = Range("A1:G" & Range("A1").End(xlDown).Row)
MaPlage.Select
'Copier la selection
Selection.Copy
nomUn.Activate
Worksheets("2021").Range("A3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
NewBook.Close False
End Sub