Fusion de cellules sous conditions
Fermé
Julien Lefèvre
-
8 juin 2016 à 16:07
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 9 juin 2016 à 06:39
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 9 juin 2016 à 06:39
A voir également:
- Fusion de cellules sous conditions
- Formule excel pour additionner plusieurs cellules - Guide
- Fusionner deux cellules excel - Guide
- Verrouiller cellules excel - Guide
- Display fusion - Télécharger - Divers Utilitaires
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
1 réponse
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
8 juin 2016 à 19:28
8 juin 2016 à 19:28
Bonjour,
Question bête mais pourquoi ne pas utiliser les filtres avancés qui permettent de retirer les doublons.
Ou de faire un tableau croisé dynamique ?
Question bête mais pourquoi ne pas utiliser les filtres avancés qui permettent de retirer les doublons.
Ou de faire un tableau croisé dynamique ?
9 juin 2016 à 00:36
9 juin 2016 à 06:39
si tu veux une macro : ssaie celle là
sub macro_fusion ()
feuilledepart = sheets("nomfeuille");Name ' modifie le nomfeuille avec ton tableau
feuillearrivee = sheets("nomfeuille2").Name 'la feuille ou tu veux que ce soit fusionné
'je pars du principe que te slibellés sont enl ligne 1 et que ton tableau commence en ligne 2 et que tes produits sont en colonne A et les 2 autres en B et C
'définition des variables
lignedépart=2
lignearrivée = 2
colonnedépart = 2
sheets(feuilledepart).select 'modifie le nom feuilledepart
rows(1).copy
sheets(feuillearrivee).select 'modifie le nom feuillearrivée
cells(1,1).select
Activesheet.paste
sheets(feuilledepart).select
lignedépart=2
'1ère boucle qui va balayer toutes les colonnes de ton tableau
do while cells(lignedépart,colonnedépart) <> ""
sheets(feuilledepart).select
'2ème boucle qui va balayer toutes les lignes de ton tableau
do while cells(lignedepart,1) <> ""
sheets(feuilledepart).select
produit= cells(lignedepart,1)
valeur = cells(lignedépart,2)
sheets(feuillearrivee).select
trouve = ""
sheets(feuillearrivee).select
'la suite va chercher dans la feuille d'arrivée si les données de la feuille de départ sont déjà présents
do while cells(lignearrivée,1) <> ""
if cells(lignearrivée,1) = produit then
if cells(lignearrivée,2) = valeur then
cells(lignearrivée,20) = X
trouve = 1
end if
end if
lignearrivée = ""
loop
'si les données n'ont pas été trouvées, on les rajoute
if trouve = ""
cells(lignearrivée,1) = produit
cells(lignearrivée,2) = valeur
end if
lignedepart = lignedepart+1
loop
colonnedépart = colonnedépart+1
lignedépart=2
loop
'Cette boucle permet de supprimer toutes les lignes pour lesquelles les données n'ont pas été trovuées depuis la feuille de départ
sheets(feuillearrivee).select
lignearrivée = 1
do while cells(lignearrivée,1) <> ""
if cells(lignearrivée,20) = X then
cells(lignearrivée,20) =""
else
rows(lignearrivée).Delete Shift
lignearrivée=lignearrivée-1
end if
lignearrivée=lignearrivée+1
loop
end sub