[VBA] Copie de ligne avec calcul de colonne sous conditions

  • Initiateur de la discussion Initiateur de la discussion plombiero
  • 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 !

plombiero

XLDnaute Nouveau
Bonjour tout le monde,

Il s'agit d'un problème de copie de données.

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
[COLOR="SeaGreen"]3         Gamma         25      Chose
3         Gamma         20      Chose
3         Gamma         -10     Chose[/COLOR]
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
[COLOR="seagreen"]3       Gamma   35      Chose[/COLOR]
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.
J'ai essayé la méthode des sous.totaux sans succès, donc je retourne vers vous pour éventuellement trouver une solution.

Ici le début de mon code mais qui n'a pas grand chose à voir avec le problème auquel je suis confronté.
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
 
Re : [VBA] Copie de ligne avec calcul de colonne sous conditions

Bonjour Hasco,

J'ai décidé de relancer un fil car malheureusement le titre choisi (suite à une erreur de manipulation) ne rencontre pas beaucoup de succès.

Bien évidemment, la problématique reste la même 🙂

Merci encore 😀

Damien
 
- 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

Discussions similaires

Réponses
9
Affichages
580
Réponses
3
Affichages
582
Retour