[VBA] Classeur récap plusieurs classeurs

Fermé
rafiki - 15 juil. 2015 à 13:37
Le Pingou Messages postés 12199 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 21 novembre 2024 - 17 juil. 2015 à 17:25
Bonjour à tous,

Je vous explique en détail.
D'un côté j'ai un classeur excel principal qui référence des numéros de dossiers (en colonne A) pouvant avoir plusieurs formats différents et associant à chacun des informations (en ligne).
De l'autre une dizaine de classeurs secondaires contenant les informations détaillés pour chaque numéros de dossiers.

Le but est de prendre chaque classeurs, lire chaque numéros de dossier de la colonne et si un numéro n'apparaît pas dans la liste du classeur principal supprimer la ligne correspondante ou la copier sur un nouveau classeur.

La contrainte
- le numéro de dossier peut être varier entre le classeur principal et secondaire. On trouvera par exemple et de manière respective "ABCC2354" et "ABCC2983-"

J'ai fais une macro avec des conditions pour comparer ligne par ligne mais ça fait systématiquement buguer excel. Je pensai à INDES + EQUIV mais je ne vois pas comment m'en servir..

Merci pour l'aide que vous pourrez m'apporter =)
A voir également:

4 réponses

Le Pingou Messages postés 12199 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 21 novembre 2024 1 450
16 juil. 2015 à 17:33
Bonjour,
Est-il possible de voir le classeur principal et la macro, si oui mettre sur https://www.cjoint.com/ et poster le lien.

0
sonoja Messages postés 19 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 14 février 2017
16 juil. 2015 à 18:11
Bonjour,

Si tu compare ligne par ligne, c'est beaucoup trop long, normal que ça plante ^^

Essaie avec la fonction FIND de vba, ca donnerait une macro de ce style là :

dim WB as workbook
WB = "nom_du_classeur_principal.xls"

For each book in workbooks (boucle sur tes classeurs sur lesquels tu veux faire une verif)
with book
for i=1 to .range("A1").end(xldown).row
if WB.column(1).find(.range("A" & i)) is Nothing
then <instructions>
end if
next i
end with
next book

C'est à tester, mais ça peut répondre à ton problème je pense.
0
Bonjour et merci de l'intérêt que vous portez à mon problème !

J'ai mis en partage un classeur (fictif) contenant deux onglets:
"données" contenant les numéros de dossier que je souhaite garder
"CC4" qui est une sorte de bibliothèque contenant toutes les infos de tous les dossiers.

Je souhaite avoir les infos des deux onglets pour chaque numéro de dossier se trouvant dans l'onglet "données".

https://mon-partage.fr/f/e6mfFRxJ/

Pour la macro de sonoja je vais essayer de l'adapter dans la journée merci =)
0
Le Pingou Messages postés 12199 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 21 novembre 2024 1 450
Modifié par Le Pingou le 17/07/2015 à 18:03
Bonjour,
Merci pour le classeur exemple.
Sur chaque feuille vous avez 2 fois le même titre de colonne, c'est ingérable !
Que faire... !

De plus vous pourriez au minimum avoir les titres des colonnes de l'original y compris pour les noms des feuilles.....


Salutations.
Le Pingou
0