Bonjour tout le monde,
Il s'agit d'un problème de copie de données.
(edit: désolé pour le nom du topic, j'avais mis ça pendant que je le mettais en forme).
Voici un exemple concret de ce que je voudrais réaliser :
L'idée :
Ce serait de copier les lignes d'une feuille de classeur à une autre feuille d'un autre classeur.
Mais surtout, si il y a plusieurs lignes qui ont le même n° sur la même colonne (par exemple A), alors on colle l'incrémentation des plusieurs lignes du classeur 1 en une seule ligne sur le classeur 2 en faisant une somme sur une colonne spécifique (ici, c'est la D).
Attention : Certaines colonnes que je dois copier sont "Merge" à la base (comme B et C dans mon exemple) et les cellules de destination non. Je passe par un "Unmerge" avant de copier le bébé donc mais je ne peux pas me permettre de copier comme un sauvage toutes les lignes.
Ce que j'ai commencé à faire :
Ouvrir le classeur1 à partir du 2.
Selectionner la feuille 2 du classeur 1.
Sélectionner l'ensemble de mes données du classeur 1 sur lesquelles je veux executer la macro.
Voilà où je reste bloqué, si quelqu'un avait de quoi m'aider, je lui en serais fortement reconnaissant !
Merci d'avance,
Damien
Il s'agit d'un problème de copie de données.
(edit: désolé pour le nom du topic, j'avais mis ça pendant que je le mettais en forme).
Voici un exemple concret de ce que je voudrais réaliser :
Code:
Classeur1 Feuille2
A B C D E
N° INFOS en € Description
1 Alpha 25 Truc
2 Beta 30 Muche
3 Gamma 25 Chose
3 Gamma 20 Chose
3 Gamma -10 Chose
4 ...
[COLOR="Red"]devienne via macro [/COLOR]
Classeur2 Feuille2
A B C D
N° INFOS en € Description
1 Alpha 25 Truc
2 Beta 30 Muche
3 Gamma 35 Chose
4 ...
L'idée :
Ce serait de copier les lignes d'une feuille de classeur à une autre feuille d'un autre classeur.
Mais surtout, si il y a plusieurs lignes qui ont le même n° sur la même colonne (par exemple A), alors on colle l'incrémentation des plusieurs lignes du classeur 1 en une seule ligne sur le classeur 2 en faisant une somme sur une colonne spécifique (ici, c'est la D).
Attention : Certaines colonnes que je dois copier sont "Merge" à la base (comme B et C dans mon exemple) et les cellules de destination non. Je passe par un "Unmerge" avant de copier le bébé donc mais je ne peux pas me permettre de copier comme un sauvage toutes les lignes.
Ce que j'ai commencé à faire :
Ouvrir le classeur1 à partir du 2.
Selectionner la feuille 2 du classeur 1.
Sélectionner l'ensemble de mes données du classeur 1 sur lesquelles je veux executer la macro.
Code:
Sub copier_cellules_entre_classeurs()
Dim lastlineselect As Integer
Dim filetoOpen
Dim Erreur
Dim rw
Dim ligne
Dim nb_lignes
'Nomme le workbook n°2 en "ici"
ici = ThisWorkbook.Name
'Ouvre le workbook n°1 et je le nomme en "ouvert"
filetoOpen = Application.GetOpenFilename("Excel (*.xls), *.xls")
If filetoOpen <> False Then
Workbooks.Open Filename:=filetoOpen
ouvert = ActiveWorkbook.Name
'Ma sélection commence à partir du B7
Workbooks(ouvert).Activate
Sheets("Feuille2").Activate
ActiveCell.SpecialCells(xlLastCell).Select
lastlineselect = Selection.Row
If lastlineselect < 7 Then lastlineselect = 7
nb_lignes = lastlineselect - 6
Voilà où je reste bloqué, si quelqu'un avait de quoi m'aider, je lui en serais fortement reconnaissant !
Merci d'avance,
Damien
Dernière édition: