Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 06/11/2007, 12h12   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Localisation: Prague
Version Excel : Excel XP (PC)
Messages: 3
Par défaut recherchev et limite des 65536 lignes

Bonjour, je dois faire une recherchev sur une base de données de plus de 65 536 lignes (225 000 lignes et 2 colonnes, une de la référence d'un produit et l'autre du segment de cette référence).

La seule solution que j'ai trouvée pour l'instant c'est :
-couper en 4 fois 65000 lignes mon tableau de données,
-faire recherchev sur chacun des tableaux de données crées
-comme il n'y a pas de doublon, ensuite je récupère le seul où la recherchev donne qqch.

Seulement excel n'aime pas du tout, il me faut des heures pour faire tourner les formules, j'ai alors essayer de simplifier au maximum :
-je mets sur une colonne le résultat d'un recherchev sur le premier tableau de données (de 1 à 65 534)
-copier/coller valeurs de ces résultats
-puis sur une seconde colonne le résultat du recherchev du second tableau de données
-copier/coller valeurs
- idem pour le troisième et quatrième tableau.
J'ai donc soit 3 #N/A et la référence que je cherche sur une des 4 cellules crées, soit 4 fois #N/A si la référence souhaité n'es pas dans l'un des 4 tableaux de ma base données.

Ensuite la formule suivante :
=SI(ESTNA(B2);"";B2)&SI(ESTNA(C2);"";C2)&SI(ESTNA( D2);"";D2)&SI(ESTNA(E2);"";E2)
(évidemment B2 est le résultat de la recherchev dans le premier tableau, C2 le second etc)

Idem, c'est beaucoup trop lourd pour Excel, d'autant que j'ai à peu près 30 000 valeurs à rechercher et ce, 20 fois...


je me suis donc mis en quête de faire une macro. Je suis tout à fait débutant en la matière, j'ai fait donc la boucle suivante franchement artisanale, j'espère ne pas trop vous effrayer :

Sheets("macro").Activate
ref = ActiveCell
Cells.Select
Selection.Find(What:=ref, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
seg = ActiveCell
Sheets("macro").Activate
Cells(i, 2).Select
ActiveCell = seg

Ca marche très bien sauf quand je cherche une valeur qui n'existe pas où ça bug...


Est-ce que qqn aurait une idée ?
Je pense qu'il suffit juste de faire une formule recherche dans la boucle de la macro, mais je n'y arrive pas !

J'espère que j'ai été assez clair...
Merci beaucoup pour votre aide.
Fichiers attachés
Type de fichier : zip modele3.zip (10,0 Ko, 20 affichages)
Rigolax est déconnecté   Réponse avec citation
ANNONCES
Vieux 06/11/2007, 12h59   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : recherchev et limite des 65536 lignes

Bonjour,

Comment fais tu pour avoir une valeur qui n'existe pas puisque la valeur que tu cherches est dans la page En tout cas c'est ce que ton code fait...

Pas clair tout ça...

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 06/11/2007, 13h06   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : recherchev et limite des 65536 lignes

Re,

J'ai peut être compris...
Dans ce cas modifie ton code ainsi :
Code:
Dim CelCherch as range
Set CelCherch = Selection.Find(What:="362", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If CelCherch Is Nothing Then Exit Sub
Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 08/11/2007, 17h37   #4 (permalink)
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Localisation: Prague
Version Excel : Excel XP (PC)
Messages: 3
Par défaut Re : recherchev et limite des 65536 lignes

Ca marche !!!!

Merci beaucoup !



Voilà le code que j'ai finalement utilisé :
Code:
  For i = 2 To compteur + 1
    
    
    Cells(i, 1).Select
    ref = ActiveCell
    Sheets("tab ref").Activate
    Cells.Select
        Set CelCherch = Selection.Find(What:=ref, After:=ActiveCell, LookIn:=xlFormulas _
        , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
 
    If CelCherch Is Nothing Then
   seg = "XX"
   Else
       CelCherch.Select
       
       ActiveCell.Offset(0, 1).Select

    seg = ActiveCell
    End If
    Sheets("macro").Activate
    Cells(i, 2).Select
    ActiveCell = seg
    Application.CutCopyMode = False
    Next
Merci encore !
Rigolax est déconnecté   Réponse avec citation
Vieux 08/11/2007, 23h10   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de BrunoM45
 
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 2 572
Question Re : recherchev et limite des 65536 lignes

Bonsoir,

Désolé de m'immiscer comme ça, mais pourquoi ne pas utiliser Access ou un autre SGBD gratuit !?

225000 lignes à traiter, y'en a qui aime perdre du temps sur Excel !

__________________
Cordi@lement.

La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses.

VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro !
Menu -> Outils -> Macro -> Nouvelle macro

Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI

Petite citation : C'est en XLDant que l'on devient XLDnaute Barbatruc ...
BrunoM45 est déconnecté   Réponse avec citation
Vieux 09/11/2007, 11h58   #6 (permalink)
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Localisation: Prague
Version Excel : Excel XP (PC)
Messages: 3
Par défaut Re : recherchev et limite des 65536 lignes

En fait je n'ai normalement pas accès à Access sauf demande justifiée...

Mais de toutes façons, la macro si elle marche bien est tellement longue, que ça me semble justifier l'accès...

Rigolax est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
importation d'un fichier de plus de 65536 lignes nico0007 Forum Excel 4 05/06/2007 15h50
HELP ! Pb de requete avec + de 65536 lignes hebustroll1 Forum Excel 1 05/01/2007 17h23
Importation Accees de plus de 65536 lignes Art Forum Excel 9 21/08/2006 21h58
Plus de 65536 lignes dans une feuille ??? Gillou Forum Excel 2 13/06/2005 14h24
RESET de 65536 lignes BARRE Christian Forum Excel Downloads - Archives 0 27/09/2002 16h45


Fuseau horaire GMT +2. Il est actuellement 11h48.


(C) 2006 Excel Downloads