FOR une seule fois pour une condition vraie

Pathe1980 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 Pathe1980 -
Bonjour.
J'ai un classeur de 75000 lignes.
Chaque ligne contient les détails d'un article d'un magasin.
Il y a au total 24 magasins.
Bon but est récupérer pour chaque magasin les articles.
Je veux utiliser une boucle for puis if :

For i = 0 to 74999
If Cells (i, 2) = Mag1 then
...
End if
Next

Serait-il possible d'éviter de parcourir les 75000 ligne ?
De faire une seule itération pour un magasin ?
Merci pour votre aide.
A voir également:

6 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Si j'ai bien compris.....
Tu veux trouver à quelle(s) ligne(s) se trouve(ent) le(s) magasin(s) cherché(s) ?
Dans ce cas il suffit d'utiliser la méthode FIND (si un seul) ou FINDALL si plusieurs
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
0
Utilisateur anonyme
 
Salut,
d’un autre côté, Excel est souvent t utlisé comme une base de données, mais ça n’en est pas une.
Avec quelques centaines, voire quelques milliers d’entrées, ça peut donner le change.
Mais 75 000, c’est trop, je pense.
Accès est livré avec office (en supposant que tu aies acheté office complet), sinon il y en a des gratuites.
Un import de données depuis Excel est généralement implémenté.
Ensuite pour les recherches, une petite requête et tu as tout ce que tu veux rapidement.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Perso, je suis comme vous... je n'aime pas utiliser excel comme une bdd ... et je conseille également l'utilisation des outils qui ont déjà fait leurs preuves....

Mais..... La dernière fois que j'ai dis un truc comme ça... je me suis fait envoyé bouler.. ^^

Si on relit la définition....Une Base de données ... peut n'être qu'un simple fichier texte........
Access, Mysql, oracle .... sont des SGBD (Systèmes de Gestion de Base de données)....donc oui... des outils prévus (et optimisés) pour gérer des bases de données.

Si il ne cherche pas les "performances" et qu'il souhaite redévelopper la roue.... rien ne l’empêche de créer et de "gérer" une base de donnée en Excel....
0
Utilisateur anonyme
 
75 000 produits, répartis dans N magasins, à raison de 6000 à 7000 produits par magasin (donc y’a au moins 11 magasins) un bon sgbd bien pensé sera 100 fois plus efficace qu’excel.
Ok une bdd peut être un simple fichier texte (pour des petits trucs je sers de xml), mais Excel c’est un tableur.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > Utilisateur anonyme
 
avec Excel et ADO on peut très bien exécuter des requêtes soit dans notre cas 24 requêtes dans le même classeur
comme je l'ai écris, Access est + adapté pour ce problème,mais la plupart des TPE ne possèdent pas Access bien qu'on puisse générer la structure d'une base Access avec excel sans posséder office pro...

L'important dans la recherche d'une solution est d'énumérer les différentes possibilités et de ne pas être intégriste de telle ou telle méthode.
0
Utilisateur anonyme > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
C’est pas une question d’integrisme, juste de performances.
Dès mon premier message, j’ai parlé d’access en supposant office complet, et précisé qu’il existe d’autre sgbd gratuits.
Le second problème avec Excel est que si ça crache, on peut tout perdre.
Je n’ai jamais vu une bdd cassée au point de ne rien pouvoir récupérer, avec Excel si.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Whismeril a raison : il vaut mieux passer par accès ou autres qu'Excel

toutefois tout dépend de ce que tu nommes magasin: magasin de stockage ou magasin de vente ?

selon le cas:


1/ peut on avoir le m^me article dans plusieurs magasins

2/ peut avoir plusieurs fois un article dans le m^me magasin ?

ou
un magasin est il spécialisé dans une liste spécialisée et exclusive d'articles

tout d
0
Pathe1980 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci à tous.
Je vais essayer Access pour voir ce que va donner.
Pour répondre à Michel.
Ceux sont des magasins de vente.
1/ Oui, le même article peut être dans plusieurs magasins. En moyenne a 3000 à 7000 articles.

2/ Chaque article est unique dans un magasin.
0
Pathe1980 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
1/ En moyenne chaque magasin a 3000 à 7000 articles
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
OK, j'essaie un truc avec Excel mais, pas sûr d'y arriver :o/

sois patient, je te fais signe demain si OK ou pas; dis le si tu tu arrives à une solution avec Access (apparemment ce serait +facile)

 Michel
0
Pathe1980 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Hello Michel_m.
Aurais-tu pu trouvé une solution via Excel ?
L'option Access est compliqué pour moi.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > Pathe1980 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Non, j'avais laissé tomber suite à mes échanges avec whismeril.

Vu la météo ici, je vais m'y mettre mais venant d'^tre opéré des yeux, je ne supporte pas très longtemps l'éclat de l'écran :-(

ce que je propose:
le tri serait effectué sur un classeur cible pour ne pas toucher ni ouvrir la base de données (sensible avec 75000 lignes.)
la technologie employée serait ADO-SQL
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Désolé pour le retard mais je ne peux pas rester longtemps devant l'écran

les 75000 lignes sont traitées en 5 à 6 secondes...

la solution par Access serait certainement + rapide et facile mais comme tu as du mal avec Access, allons y avec XL

https://mon-partage.fr/f/A8C1Vt8x/
tu dis...

les macros se trouvent dans le classeur1.xslm "pathe.xlsx" doit rester fermé ( au cas où la procédure plante avec pathe ouvert me faire signe)
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
MERCI !!!

de rien....

de quoi décourager le bénévolat....;-((
0
Utilisateur anonyme
 
Et si seulement c’etait un cas isolé....
0
Pathe1980 > Utilisateur anonyme
 
Sorry mes amis !
J'étais débordé cette semaine.
Merci infiniment pour vos suggestions.
Je vais opter pour la solution ADO avec VBA Excel vs Access.
0