synthèse de 2 feuilles

laloue54

XLDnaute Nouveau
Bonjour à tous,
Regrouper 2 feuilles qui n'ont pas le même nombre de lignes , suivant 2 critères (sous compte et UF)
J'ai joint un exemple. Je voudrais que les valeurs de 2007 et 2008 s'insèrent automatiquement dans la feuille "synthèse". Attention, certaines données sont communes aux 2 feuilles, alors que d'autres pas.
Merci de votre aide.
 

Pièces jointes

  • synthese 2 feuilles.xls
    16 KB · Affichages: 75
Dernière édition:

jp14

XLDnaute Barbatruc
Re : synthèse de 2 feuilles

Bonjour

Ci joint un fichier avec une macro

Affichage d'un usf pour sélectionner la feuille à copier
Recherche de la colonne en fonction du nom de l'onglet
Si la colonne n'existe pas demande pour création
En partant de l'onglet sélectionné
Recherche si les numéros de compte existe
S'il n'existe pas possibilité de création
Copie des données.

A tester

JP
 

Pièces jointes

  • synthese 2 feuilles.zip
    22.9 KB · Affichages: 33

laloue54

XLDnaute Nouveau
Re : synthèse de 2 feuilles

Bonjour à tous,
Après avoir essayé d'adapter la proposition de JP14, je suis toujours en échec.
En effet, mon exemple comporte 3 colonnes, alors que je travaille sur des fichiers qui ont 6 colonnes (la colonne montant se trouvant à la colonne F) donc je suppose qu'il faut modifier la macro, mais comment ?
Merci par avance pour votre si précieuse aide.
 

laloue54

XLDnaute Nouveau
Re : synthèse de 2 feuilles

Après des essais sur les feuilles d'exemple, je constate quelques problèmes.
La colonne 2009 dans l'onglet "synthese" ne comprend pas que des valeurs de la feuille "2009". Où est l'erreur ???
Je joins le nouveau fichier tel qu'il apparaît sur mon PC
 

Pièces jointes

  • synthese 2 feuilles - réponse.zip
    20.6 KB · Affichages: 23
  • synthese 2 feuilles - réponse.zip
    20.6 KB · Affichages: 22
  • synthese 2 feuilles - réponse.zip
    20.6 KB · Affichages: 23

jp14

XLDnaute Barbatruc
Re : synthèse de 2 feuilles

Bonjour

Ci joint le fichier avec la macro corrigée (il manquait le nom de la colonne lors de la création)

La recherche des comptes se fait à partir de la deuxième ligne.

JP
 

Pièces jointes

  • synthese 2 feuilles - réponse.zip
    22.6 KB · Affichages: 38
  • synthese 2 feuilles - réponse.zip
    22.6 KB · Affichages: 36
  • synthese 2 feuilles - réponse.zip
    22.6 KB · Affichages: 34

laloue54

XLDnaute Nouveau
Re : synthèse de 2 feuilles

Bonjour à tous,
JP14 m'a gentillement préparer un programme. Petit bémol, j'aimerais que tous les comptes inexistants d'une année sur l'autre soient créés automatiquement. En effet, ma feuille 2007 a 15130 lignes et ma feuille 2008 en a pour le moment 8933. Imaginez le nombre d'impulsion sur ma souris !!!
Merci par avance pour votre aide.
 

jp14

XLDnaute Barbatruc
Re : synthèse de 2 feuilles

Bonsoir

Bonjour à tous,
JP14 m'a gentillement préparer un programme. Petit bémol, j'aimerais que tous les comptes inexistants d'une année sur l'autre soient créés automatiquement. En effet, ma feuille 2007 a 15130 lignes et ma feuille 2008 en a pour le moment 8933. Imaginez le nombre d'impulsion sur ma souris !!!
.

Pour la création automatique il faut simplement supprimer les lignes de codes en rouge ou mettre l'apostrophe devant :

Else
Select Case MsgBox("Codes non trouvés" _
& vbCrLf & "" _
& vbCrLf & "Voulez vous les créer ?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, Application.Name)

Case vbYes

dl1 = Sheets(nomfeuille1).Range("a65536").End(xlUp).Row + 1
Sheets(nomfeuille1).Range("a" & dl1).Value = cellule.Value
Sheets(nomfeuille1).Range("a" & dl1).Offset(0, 1).Value = cellule.Offset(0,1).Value
Sheets(nomfeuille1).Range(col1 & dl1).Value = cellule.Offset(0, 2).Value
Case vbNo

End Select


A tester

JP
 

laloue54

XLDnaute Nouveau
Re : synthèse de 2 feuilles

Bonsoir



Pour la création automatique il faut simplement supprimer les lignes de codes en rouge ou mettre l'apostrophe devant :

Else
Select Case MsgBox("Codes non trouvés" _
& vbCrLf & "" _
& vbCrLf & "Voulez vous les créer ?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, Application.Name)

Case vbYes

dl1 = Sheets(nomfeuille1).Range("a65536").End(xlUp).Row + 1
Sheets(nomfeuille1).Range("a" & dl1).Value = cellule.Value
Sheets(nomfeuille1).Range("a" & dl1).Offset(0, 1).Value = cellule.Offset(0,1).Value
Sheets(nomfeuille1).Range(col1 & dl1).Value = cellule.Offset(0, 2).Value
Case vbNo

End Select


A tester

JP
merci JP14. J'ai testé sur l'exemple joint à ce fil, et ça marche bien.
Malheureusement pour moi, sur mon fichier et ses 8000 lignes, l'ordi semble se bloquer !!!
En effet, tout commence bien jusqu'à la 30ième ligne qui apparait sur l'écran (et à une vitesse incroyable), puis durant 10 mn, j'ai le sablier. Obligée de sortir du fichier par "fin de tâche". Y a t-il dans la formule un élément qui limite le nombre de ligne. Je ne comprends vraiment pas. Dommage, c'était tellement concluant sur l'exemple.
Qui va pouvoir me sortir de cette énigme où je m'enfonce de jour en jour.
Merci à tous par avance.
 

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 340
Membres
103 821
dernier inscrit
Lorient56