Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche dans un fichier

21 réponses
Avatar
dyj Orange
Je fais appel au groupe pour obtenir une technique de recherche sous Excel
2007 et VBA. Je m'explique.
J'ai 2 fichiers (A et B) rigoureusement identiques en terme de structure (nb
de colonnes) mais de longueur différente (nb de lignes).
Je veux chercher tous les enregistrements présent dans A et non présent dans
B.
J'ai fais ceci avec deux boucles imbriquées:
For i=1 to LigneA
For j =1 ti LigneB
' traitement .... si "=" exit For, si"<> MsgBox
Next j
Next i

Le code marche très bien avec mes fichiers de test, mais lorsque je passe
sur les fichiers réels, le temps est considérable vu le nb de lignes(A
=43000, B=37000).

Si vous avez des techniques plus performantes pour traiter mon problèmes,
merci de m'en faire part.

10 réponses

1 2 3
Avatar
LSteph
Bonjour,
Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
fichiers
En colonne adjacente vide du fichierA ligne 2 et à recopier vers bas
=nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
Et tu repères ceux qui sont à Zero
ou tu mets un filtre automatique et tu les vois tous

Cordialement.

--
LSteph

On 2 sep, 09:00, "dyj Orange" wrote:
Je fais appel au groupe pour obtenir une technique de recherche sous Exce l
2007 et VBA. Je m'explique.
J'ai 2 fichiers (A et B) rigoureusement identiques en terme de structure (nb
de colonnes) mais de longueur différente (nb de lignes).
Je veux chercher tous les enregistrements présent dans A et non prése nt dans
B.
J'ai fais ceci avec deux boucles imbriquées:
For i=1 to LigneA
    For j =1 ti LigneB
      ' traitement .... si "=" exit For, si"<> MsgBox
    Next j
Next  i

Le code marche très bien avec mes fichiers de test, mais lorsque je pas se
sur les fichiers réels, le temps est considérable vu le nb de lignes( A
C000, B7000).

Si vous avez des techniques plus performantes pour traiter mon problème s,
merci de m'en faire part.
Avatar
LSteph
Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
Je propose cette solution de formule pour t'éviter tious ces msgbox
effectivement ce serait long et lourd

On 2 sep, 10:43, LSteph wrote:
Bonjour,
Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
fichiers
En colonne adjacente vide du fichierA   ligne 2 et à recopier vers ba s
=nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
Et tu repères ceux qui sont à Zero
ou tu mets un filtre automatique et tu les vois tous

Cordialement.

--
LSteph

On 2 sep, 09:00, "dyj Orange" wrote:



> Je fais appel au groupe pour obtenir une technique de recherche sous Ex cel
> 2007 et VBA. Je m'explique.
> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de structur e (nb
> de colonnes) mais de longueur différente (nb de lignes).
> Je veux chercher tous les enregistrements présent dans A et non pré sent dans
> B.
> J'ai fais ceci avec deux boucles imbriquées:
> For i=1 to LigneA
>     For j =1 ti LigneB
>       ' traitement .... si "=" exit For, si"<> MsgBox
>     Next j
> Next  i

> Le code marche très bien avec mes fichiers de test, mais lorsque je p asse
> sur les fichiers réels, le temps est considérable vu le nb de ligne s(A
> C000, B7000).

> Si vous avez des techniques plus performantes pour traiter mon problè mes,
> merci de m'en faire part.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
isabelle
bonjour à vous deux,

dyj, tu peut aussi te servir de la formule de LSteph pour faire une mise en forme conditionnel
au lieu de la mettre dans une nouvelle colonne.

isabelle

Le 2010-09-02 05:36, LSteph a écrit :
Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
Je propose cette solution de formule pour t'éviter tious ces msgbox
effectivement ce serait long et lourd

On 2 sep, 10:43, LSteph wrote:
Bonjour,
Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
fichiers
En colonne adjacente vide du fichierA ligne 2 et à recopier vers bas
=nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
Et tu repères ceux qui sont à Zero
ou tu mets un filtre automatique et tu les vois tous

Cordialement.

--
LSteph

On 2 sep, 09:00, "dyj Orange" wrote:



Je fais appel au groupe pour obtenir une technique de recherche sous Excel
2007 et VBA. Je m'explique.
J'ai 2 fichiers (A et B) rigoureusement identiques en terme de structure (nb
de colonnes) mais de longueur différente (nb de lignes).
Je veux chercher tous les enregistrements présent dans A et non présent dans
B.
J'ai fais ceci avec deux boucles imbriquées:
For i=1 to LigneA
For j =1 ti LigneB
' traitement .... si "=" exit For, si"<> MsgBox
Next j
Next i



Le code marche très bien avec mes fichiers de test, mais lorsque je passe
sur les fichiers réels, le temps est considérable vu le nb de lignes(A
C000, B7000).



Si vous avez des techniques plus performantes pour traiter mon problèmes,
merci de m'en faire part.- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -



Avatar
LSteph
Coucou Isabelle,

En effet, MEFC j'y ai songé aussi et .. mais que ce serait idéal pour
un visuel sur un nombre de ligne plus restreint.

Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant que
cela puisse paraître un msgbox
j'ai pensé qu'il voulait peut - être quelque chose permettant de
s'arrêter sur chaque cas.

Donc le filtre sur formule me semble permettre de limiter directement
à l'ensemble à traiter.

Aussi quand j'ai vu ton post j'étais justement entrain de me dire que
peut-être
"dyj Orange" en nous disant ce qu'il compte faire ensuite sur cette
selection d'enregistrements
nous engagerait plus directement à lui proposer une solution sur la
finalité de l'objectif souhaité.

@++

--
LSteph


On 2 sep, 11:44, isabelle wrote:
bonjour à vous deux,

dyj, tu peut aussi te servir de la formule de LSteph pour faire une mise en forme conditionnel
au lieu de la mettre dans une nouvelle colonne.

isabelle

Le 2010-09-02 05:36, LSteph a écrit :



> Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
> Je propose cette solution de formule pour t'éviter tious ces msgbox
> effectivement ce serait long et lourd

> On 2 sep, 10:43, LSteph  wrote:
>> Bonjour,
>> Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
>> fichiers
>> En colonne adjacente vide du fichierA   ligne 2 et à recopier vers bas
>> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
>> Et tu repères ceux qui sont à Zero
>> ou tu mets un filtre automatique et tu les vois tous

>> Cordialement.

>> --
>> LSteph

>> On 2 sep, 09:00, "dyj Orange"  wrote:

>>> Je fais appel au groupe pour obtenir une technique de recherche sous Excel
>>> 2007 et VBA. Je m'explique.
>>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de struct ure (nb
>>> de colonnes) mais de longueur différente (nb de lignes).
>>> Je veux chercher tous les enregistrements présent dans A et non pr ésent dans
>>> B.
>>> J'ai fais ceci avec deux boucles imbriquées:
>>> For i=1 to LigneA
>>>      For j =1 ti LigneB
>>>        ' traitement .... si "=" exit For, si"<>  MsgBox
>>>      Next j
>>> Next  i

>>> Le code marche très bien avec mes fichiers de test, mais lorsque je passe
>>> sur les fichiers réels, le temps est considérable vu le nb de lig nes(A
>>> C000, B7000).

>>> Si vous avez des techniques plus performantes pour traiter mon probl èmes,
>>> merci de m'en faire part.- Masquer le texte des messages précéden ts -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
dyj Orange
Merci pour votre aide. En fait ce que je veux faire, dès l'instant où je ne
trouve pas dans le fichier B ma ligne sélectionnée du Fichier A, j'écris
cette ligne dans une feuille de mon classeur. Ainsi dans cette feuille j'ai
toutes les lignes du FichierA qui n'ont pas étaient trouvées dans le
fichierB. Pour info, le MsgBox n'est là que pour la mise au point avec des
fichiers de test de 50 lignes.

"LSteph" a écrit dans le message de groupe de
discussion :

Coucou Isabelle,

En effet, MEFC j'y ai songé aussi et .. mais que ce serait idéal pour
un visuel sur un nombre de ligne plus restreint.

Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant que
cela puisse paraître un msgbox
j'ai pensé qu'il voulait peut - être quelque chose permettant de
s'arrêter sur chaque cas.

Donc le filtre sur formule me semble permettre de limiter directement
à l'ensemble à traiter.

Aussi quand j'ai vu ton post j'étais justement entrain de me dire que
peut-être
"dyj Orange" en nous disant ce qu'il compte faire ensuite sur cette
selection d'enregistrements
nous engagerait plus directement à lui proposer une solution sur la
finalité de l'objectif souhaité.

@++

--
LSteph


On 2 sep, 11:44, isabelle wrote:
bonjour à vous deux,

dyj, tu peut aussi te servir de la formule de LSteph pour faire une mise
en forme conditionnel
au lieu de la mettre dans une nouvelle colonne.

isabelle

Le 2010-09-02 05:36, LSteph a écrit :



> Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
> Je propose cette solution de formule pour t'éviter tious ces msgbox
> effectivement ce serait long et lourd

> On 2 sep, 10:43, LSteph wrote:
>> Bonjour,
>> Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
>> fichiers
>> En colonne adjacente vide du fichierA ligne 2 et à recopier vers bas
>> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
>> Et tu repères ceux qui sont à Zero
>> ou tu mets un filtre automatique et tu les vois tous

>> Cordialement.

>> --
>> LSteph

>> On 2 sep, 09:00, "dyj Orange" wrote:

>>> Je fais appel au groupe pour obtenir une technique de recherche sous
>>> Excel
>>> 2007 et VBA. Je m'explique.
>>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de
>>> structure (nb
>>> de colonnes) mais de longueur différente (nb de lignes).
>>> Je veux chercher tous les enregistrements présent dans A et non
>>> présent dans
>>> B.
>>> J'ai fais ceci avec deux boucles imbriquées:
>>> For i=1 to LigneA
>>> For j =1 ti LigneB
>>> ' traitement .... si "=" exit For, si"<> MsgBox
>>> Next j
>>> Next i

>>> Le code marche très bien avec mes fichiers de test, mais lorsque je
>>> passe
>>> sur les fichiers réels, le temps est considérable vu le nb de
>>> lignes(A
>>> C000, B7000).

>>> Si vous avez des techniques plus performantes pour traiter mon
>>> problèmes,
>>> merci de m'en faire part.- Masquer le texte des messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte des
>> messages précédents -

- Afficher le texte des messages précédents -



Avatar
LSteph
... jusqu'où Combien de colonnes

Y a t il une colonne qui indexe les enregistrements ou faut il
comparer chaque champ?





> Coucou Isabelle,

> En effet,  MEFC j'y ai songé aussi et .. mais que ce serait idéal pour
> un visuel sur un nombre de ligne plus restreint.

> Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant que
> cela puisse paraître un msgbox
> j'ai pensé qu'il voulait peut - être quelque chose permettant de
> s'arrêter sur chaque cas.

> Donc le filtre sur formule me semble permettre de limiter directement
> à l'ensemble à traiter.

> Aussi quand j'ai vu ton post j'étais justement entrain de me dire que
> peut-être
> "dyj  Orange" en nous disant ce qu'il compte faire ensuite sur cette
> selection d'enregistrements
> nous engagerait plus directement à lui proposer une solution sur la
> finalité de  l'objectif souhaité.

> @++

> --
> LSteph

> On 2 sep, 11:44, isabelle wrote:
>> bonjour à vous deux,

>> dyj, tu peut aussi te servir de la formule de LSteph pour faire une mi se
>> en forme conditionnel
>> au lieu de la mettre dans une nouvelle colonne.

>> isabelle

>> Le 2010-09-02 05:36, LSteph a écrit :

>> > Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
>> > Je propose cette solution de formule pour t'éviter tious ces msgbo x
>> > effectivement ce serait long et lourd

>> > On 2 sep, 10:43, LSteph  wrote:
>> >> Bonjour,
>> >> Supposons valeurs à rechercher en colonne A de feuil1 de chacun d es
>> >> fichiers
>> >> En colonne adjacente vide du fichierA   ligne 2 et à recopier v ers bas
>> >> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
>> >> Et tu repères ceux qui sont à Zero
>> >> ou tu mets un filtre automatique et tu les vois tous

>> >> Cordialement.

>> >> --
>> >> LSteph

>> >> On 2 sep, 09:00, "dyj Orange"  wrote:

>> >>> Je fais appel au groupe pour obtenir une technique de recherche so us
>> >>> Excel
>> >>> 2007 et VBA. Je m'explique.
>> >>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de
>> >>> structure (nb
>> >>> de colonnes) mais de longueur différente (nb de lignes).
>> >>> Je veux chercher tous les enregistrements présent dans A et non
>> >>> présent dans
>> >>> B.
>> >>> J'ai fais ceci avec deux boucles imbriquées:
>> >>> For i=1 to LigneA
>> >>>      For j =1 ti LigneB
>> >>>        ' traitement .... si "=" exit For, si"<>  MsgBo x
>> >>>      Next j
>> >>> Next  i

>> >>> Le code marche très bien avec mes fichiers de test, mais lorsque je
>> >>> passe
>> >>> sur les fichiers réels, le temps est considérable vu le nb de
>> >>> lignes(A
>> >>> C000, B7000).

>> >>> Si vous avez des techniques plus performantes pour traiter mon
>> >>> problèmes,
>> >>> merci de m'en faire part.- Masquer le texte des messages précé dents -

>> >> - Afficher le texte des messages précédents -- Masquer le texte des
>> >> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
LSteph
En attendant que tu répondes à la question...
l'idée serait de faire l'équivalent d'un "exception join" seulement si
tu as des milliers de lignes sur 50 colonnes s'il faut s'amuser à
comparer pour chaque ligne de l'un les 50 de l'autre ce sera tres long
Exemple
Dans un cas comme celui-ci....
Nom Valeur1 lettre Couleur forme Valeur2
Dupont 24 F Rouge Carré France 215
Dupont 25 F Rouge Carré France 214
Dupont 24 F Vert Carré France 215

chaque enregistrement semble pouvoir se décliner indépendament pour
n'importe quel champ,
on serait donc obliger de tenitr compte de tous les champs

A contrario supposons des éléments permettent l'indexation
(constituent la clé ...unique) exemple ici:

Nom Date Début Numéro Valeur1 lettre Couleur forme Valeur2 Date Fin

Si pour un même nom on ne peut avoir qu'un seul enregistrement avec
une même date de début donnée
il suffira dans une colonne de concatener les deux champs dans chaque
table..

..ainsi d'y appliquer la formule que je te donnais
dans le tableau1 pour déterminer ceux qui n'existent pas dans le
tableau2.
On filtre on copie les cellules visibles uniquement et on les colle
dans ta feuille résultat.

@+

--
LSteph


On 2 sep, 14:10, LSteph wrote:
... jusqu'où Combien de colonnes

Y a t il  une colonne qui indexe les enregistrements ou faut il
comparer chaque champ?



>

> > Coucou Isabelle,

> > En effet,  MEFC j'y ai songé aussi et .. mais que ce serait idé al pour
> > un visuel sur un nombre de ligne plus restreint.

> > Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant qu e
> > cela puisse paraître un msgbox
> > j'ai pensé qu'il voulait peut - être quelque chose permettant de
> > s'arrêter sur chaque cas.

> > Donc le filtre sur formule me semble permettre de limiter directement
> > à l'ensemble à traiter.

> > Aussi quand j'ai vu ton post j'étais justement entrain de me dire q ue
> > peut-être
> > "dyj  Orange" en nous disant ce qu'il compte faire ensuite sur cett e
> > selection d'enregistrements
> > nous engagerait plus directement à lui proposer une solution sur la
> > finalité de  l'objectif souhaité.

> > @++

> > --
> > LSteph

> > On 2 sep, 11:44, isabelle wrote:
> >> bonjour à vous deux,

> >> dyj, tu peut aussi te servir de la formule de LSteph pour faire une mise
> >> en forme conditionnel
> >> au lieu de la mettre dans une nouvelle colonne.

> >> isabelle

> >> Le 2010-09-02 05:36, LSteph a écrit :

> >> > Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
> >> > Je propose cette solution de formule pour t'éviter tious ces msg box
> >> > effectivement ce serait long et lourd

> >> > On 2 sep, 10:43, LSteph  wrote:
> >> >> Bonjour,
> >> >> Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
> >> >> fichiers
> >> >> En colonne adjacente vide du fichierA   ligne 2 et à recopier vers bas
> >> >> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
> >> >> Et tu repères ceux qui sont à Zero
> >> >> ou tu mets un filtre automatique et tu les vois tous

> >> >> Cordialement.

> >> >> --
> >> >> LSteph

> >> >> On 2 sep, 09:00, "dyj Orange"  wrote:

> >> >>> Je fais appel au groupe pour obtenir une technique de recherche sous
> >> >>> Excel
> >> >>> 2007 et VBA. Je m'explique.
> >> >>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de
> >> >>> structure (nb
> >> >>> de colonnes) mais de longueur différente (nb de lignes).
> >> >>> Je veux chercher tous les enregistrements présent dans A et no n
> >> >>> présent dans
> >> >>> B.
> >> >>> J'ai fais ceci avec deux boucles imbriquées:
> >> >>> For i=1 to LigneA
> >> >>>      For j =1 ti LigneB
> >> >>>        ' traitement .... si "=" exit For, si"<>  Msg Box
> >> >>>      Next j
> >> >>> Next  i

> >> >>> Le code marche très bien avec mes fichiers de test, mais lorsq ue je
> >> >>> passe
> >> >>> sur les fichiers réels, le temps est considérable vu le nb d e
> >> >>> lignes(A
> >> >>> C000, B7000).

> >> >>> Si vous avez des techniques plus performantes pour traiter mon
> >> >>> problèmes,
> >> >>> merci de m'en faire part.- Masquer le texte des messages préc édents -

> >> >> - Afficher le texte des messages précédents -- Masquer le tex te des
> >> >> messages précédents -

> >> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
dyj Orange
Il y a 11 colonnes et c'est la dernière qui sert d'index à la recherche

"LSteph" a écrit dans le message de groupe de
discussion :

... jusqu'où Combien de colonnes

Y a t il une colonne qui indexe les enregistrements ou faut il
comparer chaque champ?





> Coucou Isabelle,

> En effet, MEFC j'y ai songé aussi et .. mais que ce serait idéal pour
> un visuel sur un nombre de ligne plus restreint.

> Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant que
> cela puisse paraître un msgbox
> j'ai pensé qu'il voulait peut - être quelque chose permettant de
> s'arrêter sur chaque cas.

> Donc le filtre sur formule me semble permettre de limiter directement
> à l'ensemble à traiter.

> Aussi quand j'ai vu ton post j'étais justement entrain de me dire que
> peut-être
> "dyj Orange" en nous disant ce qu'il compte faire ensuite sur cette
> selection d'enregistrements
> nous engagerait plus directement à lui proposer une solution sur la
> finalité de l'objectif souhaité.

> @++

> --
> LSteph

> On 2 sep, 11:44, isabelle wrote:
>> bonjour à vous deux,

>> dyj, tu peut aussi te servir de la formule de LSteph pour faire une
>> mise
>> en forme conditionnel
>> au lieu de la mettre dans une nouvelle colonne.

>> isabelle

>> Le 2010-09-02 05:36, LSteph a écrit :

>> > Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
>> > Je propose cette solution de formule pour t'éviter tious ces msgbox
>> > effectivement ce serait long et lourd

>> > On 2 sep, 10:43, LSteph wrote:
>> >> Bonjour,
>> >> Supposons valeurs à rechercher en colonne A de feuil1 de chacun des
>> >> fichiers
>> >> En colonne adjacente vide du fichierA ligne 2 et à recopier vers
>> >> bas
>> >> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
>> >> Et tu repères ceux qui sont à Zero
>> >> ou tu mets un filtre automatique et tu les vois tous

>> >> Cordialement.

>> >> --
>> >> LSteph

>> >> On 2 sep, 09:00, "dyj Orange" wrote:

>> >>> Je fais appel au groupe pour obtenir une technique de recherche
>> >>> sous
>> >>> Excel
>> >>> 2007 et VBA. Je m'explique.
>> >>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de
>> >>> structure (nb
>> >>> de colonnes) mais de longueur différente (nb de lignes).
>> >>> Je veux chercher tous les enregistrements présent dans A et non
>> >>> présent dans
>> >>> B.
>> >>> J'ai fais ceci avec deux boucles imbriquées:
>> >>> For i=1 to LigneA
>> >>> For j =1 ti LigneB
>> >>> ' traitement .... si "=" exit For, si"<> MsgBox
>> >>> Next j
>> >>> Next i

>> >>> Le code marche très bien avec mes fichiers de test, mais lorsque
>> >>> je
>> >>> passe
>> >>> sur les fichiers réels, le temps est considérable vu le nb de
>> >>> lignes(A
>> >>> C000, B7000).

>> >>> Si vous avez des techniques plus performantes pour traiter mon
>> >>> problèmes,
>> >>> merci de m'en faire part.- Masquer le texte des messages
>> >>> précédents -

>> >> - Afficher le texte des messages précédents -- Masquer le texte des
>> >> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte des
>> messages précédents -

- Afficher le texte des messages précédents -



Avatar
LSteph
Et bien voilà tu as ta solution!

on adaptes ma formule à la onzième au lieu de la première.

=nb.si([fichierB.xls]Feuil1!$K$2:$K$37000;K2)

une fois cela sur toute la colonne tu mets le filtre automatique
puis pour K filtré sur la valeur zero
puis tu sélectionne tout le tableau
F5 ( Atteindre)
Cellules visibles seulement
Copier
puis Feuil2 Coller

--
LSteph




On 2 sep, 16:06, "dyj Orange" wrote:
Il y a 11 colonnes et c'est la dernière qui sert d'index à la recherc he

"LSteph" a écrit dans le message de groupe de
discussion :




> ... jusqu'où Combien de colonnes

> Y a t il  une colonne qui indexe les enregistrements ou faut il
> comparer chaque champ?

>>

>> > Coucou Isabelle,

>> > En effet,  MEFC j'y ai songé aussi et .. mais que ce serait id éal pour
>> > un visuel sur un nombre de ligne plus restreint.

>> > Comme il a beaucoup de ligne et qu'il envisageait aussi surprenant q ue
>> > cela puisse paraître un msgbox
>> > j'ai pensé qu'il voulait peut - être quelque chose permettant de
>> > s'arrêter sur chaque cas.

>> > Donc le filtre sur formule me semble permettre de limiter directemen t
>> > à l'ensemble à traiter.

>> > Aussi quand j'ai vu ton post j'étais justement entrain de me dire que
>> > peut-être
>> > "dyj  Orange" en nous disant ce qu'il compte faire ensuite sur cet te
>> > selection d'enregistrements
>> > nous engagerait plus directement à lui proposer une solution sur l a
>> > finalité de  l'objectif souhaité.

>> > @++

>> > --
>> > LSteph

>> > On 2 sep, 11:44, isabelle wrote:
>> >> bonjour à vous deux,

>> >> dyj, tu peut aussi te servir de la formule de LSteph pour faire une
>> >> mise
>> >> en forme conditionnel
>> >> au lieu de la mettre dans une nouvelle colonne.

>> >> isabelle

>> >> Le 2010-09-02 05:36, LSteph a écrit :

>> >> > Pas lu tout, au lieu de 25000 dans l'exemplemettre 37000
>> >> > Je propose cette solution de formule pour t'éviter tious ces ms gbox
>> >> > effectivement ce serait long et lourd

>> >> > On 2 sep, 10:43, LSteph  wrote:
>> >> >> Bonjour,
>> >> >> Supposons valeurs à rechercher en colonne A de feuil1 de chacu n des
>> >> >> fichiers
>> >> >> En colonne adjacente vide du fichierA   ligne 2 et à recopie r vers
>> >> >> bas
>> >> >> =nb.si([fichierB.xls]Feuil1!$a$2:$a$25000;A2)
>> >> >> Et tu repères ceux qui sont à Zero
>> >> >> ou tu mets un filtre automatique et tu les vois tous

>> >> >> Cordialement.

>> >> >> --
>> >> >> LSteph

>> >> >> On 2 sep, 09:00, "dyj Orange"  wrote:

>> >> >>> Je fais appel au groupe pour obtenir une technique de recherche
>> >> >>> sous
>> >> >>> Excel
>> >> >>> 2007 et VBA. Je m'explique.
>> >> >>> J'ai 2 fichiers (A et B) rigoureusement identiques en terme de
>> >> >>> structure (nb
>> >> >>> de colonnes) mais de longueur différente (nb de lignes).
>> >> >>> Je veux chercher tous les enregistrements présent dans A et n on
>> >> >>> présent dans
>> >> >>> B.
>> >> >>> J'ai fais ceci avec deux boucles imbriquées:
>> >> >>> For i=1 to LigneA
>> >> >>>      For j =1 ti LigneB
>> >> >>>        ' traitement .... si "=" exit For, si"<>  Ms gBox
>> >> >>>      Next j
>> >> >>> Next  i

>> >> >>> Le code marche très bien avec mes fichiers de test, mais lors que
>> >> >>> je
>> >> >>> passe
>> >> >>> sur les fichiers réels, le temps est considérable vu le nb de
>> >> >>> lignes(A
>> >> >>> C000, B7000).

>> >> >>> Si vous avez des techniques plus performantes pour traiter mon
>> >> >>> problèmes,
>> >> >>> merci de m'en faire part.- Masquer le texte des messages
>> >> >>> précédents -

>> >> >> - Afficher le texte des messages précédents -- Masquer le te xte des
>> >> >> messages précédents -

>> >> - Afficher le texte des messages précédents -- Masquer le texte des
>> >> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
blaise cacramp
Bonjour

En 2007, j'ai observé que pas mal de macros étaient devenues plus lentes.
J'ai résolu le problème comme suit :

Sub toto()
'début de procédure
Application.Calculation = xlCalculationManual
' le traitement
' ...
'fin de procédure
Application.Calculation = xlCalculationAutomatic
Application.Calculate
End Sub

Cdt, Blaise
1 2 3