[Excel] Copie lignes de 2 feuilles sur une 3e

Fermé
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 - 14 déc. 2007 à 12:05
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 - 4 janv. 2008 à 14:25
Bonjour à tous,

Je travaille sous Excel 2003 au bureau et sous windows XP.

Je cherche une programation Excel permettant à une feuille "A" de détecter et de recopier automatiquement toutes les ligne comportant des données présentes sur une feuille "B" , puis de détecter et de copier automatiquement toutes les ligne comportant des données à partir de la feuille "C", et de les copier à la suite des données déjà copiées sur la feuille "A", moins la première ligne de C.



Un petit schéma pour rendre cela plus clair :

Mettons que la feuille "B" contiennent 4 lignes avec des données, plus une ligne de titre :

"ligne de titre de la feuille"
ZZZZZZZZZ
YYYYYYYYY
XXXXXXXXX
WWWWW

La feuille "A" détecte toutes les lignes en question et les recopie, la feuille "A" ressemble à présent à la feuille "B".
Puis "A" cherche les lignes avec des données sur "C", mettons qu'il y en ait 3 et une ligne titre :

"ligne de titre de la feuille"
VVVVVVV
UUUUUU
TTTTTTT

La feuille "A" copie ces données à la suite de celles trouvées sur "B", sans prendre en compte la ligne de titre de "C", et ressemble donc à présent à ca :

"ligne de titre de la feuille"
ZZZZZZZZZ
YYYYYYYYY
XXXXXXXXX
WWWWW
VVVVVVV
UUUUUU
TTTTTTT


Merci d'avance à ceux qui pourront m'aider ! ^^
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
14 déc. 2007 à 18:13
bonjour

Dans le code VBA de ta feuille A tu mets cette macro qui s'exécutera lorsque tu choisiras la feuille A
Private Sub Worksheet_Activate()
Cells.Clear
Sheets("feuille B").Cells.Copy Destination:=Range("a1")
With Sheets("feuille C")
.Cells(2, 1).Resize(.Cells.SpecialCells(xlCellTypeLastCell).Row, .Cells.SpecialCells(xlCellTypeLastCell).Column).Copy _
    Destination:=Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1)
End With
End Sub

Tu remplaces "feuille B" et "feuille C" par les noms de tes feuilles
0
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 67
4 janv. 2008 à 14:25
Merci pour la macro

^^
0