Comparer 2 classeurs , dont 1 fermé

CAPRI_456

XLDnaute Occasionnel
Bien le bonsoir à tous ,

Le vba repris ici colorie automatiquement dans feuille 'Detail' les données si elles sont retrouvées dans la feuille 'ListeKWE'
en conservant cette dernière couleur.

Cela marche parfaitement car, les deux feuilles sont dans le classeur ouvert.

Comment faire alors :
-- si la feuille 'liste KWE' se trouve dans un classeur fermé autre que la feuille 'Détail', mais dans le même répertoire = 1ère difficulté

--- si la liste doit comprendre 90.000 lignes alors que le max est de 65.......par feuille .. je pense créer 45000 lignes sur chaque feuille et donc il faut que la VBA teste successivement les lignes de chaque feuille
= 2ème difficulté

Si vous avez l'un ou l'autre tuyau ?? Merci d'avance pour vos réflexions

Capri_456
 

CAPRI_456

XLDnaute Occasionnel
Re:Comparer 2 classeurs XLS , dont 1 fermé

AVEC LES FICHIERS C'EST MIEUX [file name=2BDcatalogue.zip size=33602]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/2BDcatalogue.zip[/file]
 

Pièces jointes

  • 2BDcatalogue.zip
    32.8 KB · Affichages: 28

MichelXld

XLDnaute Barbatruc
Re:Comparer 2 classeurs XLS , dont 1 fermé

bonjour

je ne comprends comment fonctionnent tes fichiers : parfois il y a un espaces , parfois 2 ...
peux tu préciser quel est le format de base dans la colonne 3 du classeur et dans le champ 'HS code' de la table Access


sinon tu peux essayer cette modification dans la requete

Cible = 'SELECT * FROM catalogue WHERE ' & _
'[HS code]='' & Format(Application.WorksheetFunction.Substitute(Cells(i, 3), ' ', ''), '@@@@@@@@ @@') _
& '' AND ' & '[Code Art V]='' & Cells(i, 4) & '''




bonne journée
MichelXld
 

CAPRI_456

XLDnaute Occasionnel
Re:Comparer 2 classeurs XLS , dont 1 fermé

Bsoir MichelXLD, le Forum

au départ avant de travailler avec une table access le tableur XLS fermé affichait
8532210090 alors que le XLS ouvert affichait 85322100 90 (donc un espace)== la comparaison ne se faisait pas

pour ne pas modifier les 76000 items manuellement j'ai utilisé la macro suivante obtenue sur le forum
Sub Macro1()
Dim cel As Range 'déclare la variable cel

'boucle sur toutes les cellules éditées de la colonne B (en partant de la ligne 2)
For Each cel In Range('B2:B' & Range('B65536').End(xlUp).Row)
'si la cellule contient x digits (caratères numérique)
'remplace la valeur par les (x-2) premiers digits + un espace + les deux dernier digits
cel.Value = Mid(cel.Value, 1, Len(cel.Value) - 2) & ' ' & Right(cel.Value, 2)
Next cel 'prochaine cellule de la liste
End Sub


cela à formaté les données au format 85322100 90 dans le classuer fermé et la compoaraison se faisait.

En passant vers une table access j'ai simplement fait du copier coller du contenu de mes feuilles XLS dans la table... et l'affichage 'texte' s'est fait sans l'espace
donc 8532210090 pour rétablir dans access j'ai alors placé dans la propriété format d'access @@@@@@@@ @@ .... à la vue on semble voir un espace ..si je place le curseur dessus , il disparait
donc en plaçant deux espaces avant les 2 derniers chiffres ...à la vue lo'n dirait deux espace... si je place le curseur dessus, il subsiste un espace...
DONC, il faudrait que dans ma table access, je puisse placer manuellement deux espaces et TOUT MARCHE
sI PAR CONTRE JE VEUX LE FAIRE AUTOMATIQUEMENT VIA UNE REQUETE SELECTION ACCESS ET QUE j'y place deux espaces, cela ne fonctionne plus...

Suis paumé.

Et bien cela ne fonctionne pas
sauf si

Je viens d'essayer ta proposition mais je ne vois pas d'amélioration.
en supprimant l'espace dans ta proposition cela tourne...
JE ne comprends donc plus rien
et vais revoir tout depuis le départ

A++
 

CAPRI_456

XLDnaute Occasionnel
Re:Comparer 2 classeurs XLS , dont 1 fermé

bsoir le forum, bsoir Michel XLD,

Ai finalement réussi . Il fallair modifier le format des données dans la col ad hoc de la base access.
Maintenant , cela fonctionne à merveille.

Merci.
 

CAPRI_456

XLDnaute Occasionnel
Re:Comparer 2 classeurs XLS , dont 1 fermé

bsoir le forum, bsoir Michel XLD,

Ai finalement réussi . Il fallair modifier le format des données dans la col ad hoc de la base access.
Maintenant , cela fonctionne à merveille.

Merci.
 

Infratunes

XLDnaute Nouveau
Re : Comparer 2 classeurs , dont 1 fermé

Bonjour le forum,

Je me permets de remonter ce topic car en voulant utiliser la macro présente dans le zip de MichelXld (pour comparer et surligner en rouge des valeurs communes aux deux classeurs), j'ai les messages suivant qui apparaissent :

*******************************************
Erreur d’exécution ‘-21247217887 (80040e21)’ :
Ce pilote ne prend pas en charge les propriétés demandées

Puis affiche en jaune la commande dans le debogage
Rs.Open Cible, Cn, adOpenKeyset
*******************************************

J'ai juste modifié les valeurs des classeurs par rapport aux fichiers de test. Ci joint les fichiers en question.

Merci d'avance pour votre aide

Infratunes.
 

Pièces jointes

  • comparerclasseuravr07.zip
    13.3 KB · Affichages: 29
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 972
Membres
103 688
dernier inscrit
Amadou