Req sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ?

Req sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ? - VB/VBA/VBS - Programmation

Marsh Posté le 03-01-2011 à 17:09:37    

Voici mon problème :
 
Dans un fichier Excel je dois consolider des données de 3 fichiers Excel différents avec des jointures entre eux.
Comment puis-je exécuter cette requête et obtenir le résultat dans ce nouveau fichier Excel ?
 
 
La seule solution que j'ai trouvé jusqu'à maintenant c'est de regrouper le contenu des 3 fichiers Excel à consolider dans un fichier Excel temporaire sous 3 onglets différents, et ensuite je peux faire dans un nouveau fichier Excel une requête sur les 3 onglets de ce fichier temporaire.
 
(3 fichiers à 1 onglet ==> 1 fichier temporaire à 3 onglets ==> Fichier final avec le résultat de ma requête)
 
Seulement, j'aimerais éviter de passer par ce fichier intermédiaire, mais quand je veux créer une nouvelle requête il ne me propose qu'un seul fichier à sélectionner. Et quand j'essaie de faire cette requête directement à partir du fichier temporaire, il bloque car il essaye d'accéder à lui-même et donc ça bug ...
 
J'aimerais faire ça en VBA si possible :D
 
Plz help !
 
 
N.B. : Je ne peux utiliser qu'Excel !! Pas d'Access ni rien entre les 2 !


Message édité par Kirvel le 03-01-2011 à 19:47:53

---------------
MyAnimeList
Reply

Marsh Posté le 03-01-2011 à 17:09:37   

Reply

Marsh Posté le 03-01-2011 à 19:46:20    

Bon, je pense avoir trouvé comment contourner mon problème :
 
 
Dans un nouveau fichier je vais faire :
- Onglet 1 : requête sur mon 1er fichier où je prends tous les enregistrements avec les colonnes qui m'intéressent
- Onglets 2 et 3: l'intégralité de 2 autres fichiers (requêtes aussi)
- Onglet 4 : Les boutons pour lancer mes traitements et macros
- Onglet 5 : Une macro où je reprends mon onglet ligne par ligne, champ par champ, et j'y incluerai à chaque occurrence une recherche verticale sur les onglets 2 et 3 pour récupérer les données issues des jointures. Ca sent l'usine à gaz, mais c'est pour des fichiers qui dépassent pas les 1000 lignes ni les 20 champs.
 
En plus ça règlera mes problèmes d'enregistrements manquants suite aux jointures introuvables [:bien]
 
Par contre si vous avez sous la main un bout de code pour m'aider à voir comment fonctionne la recherche verticale en VBA Excel ça m'aiderait bcp svp !
 
Merci d'avance :)


Message édité par Kirvel le 03-01-2011 à 19:49:06

---------------
MyAnimeList
Reply

Marsh Posté le 07-01-2011 à 16:19:09    

Qu'est ce que t'appel recherche verticale ?
 
 
une cellule ou une plage de cellule, en VBA c'est un objet de type Range
 
Exemple de code (écris à la main sans vérification) pour parcourir une plage "A1:A999" :
 
Dim objPlageAParcourir as Range
Dim objCellule as Range
 
'Il faut remplacer activesheet par une référence correcte :
Set objPlageAParcourir = Activesheet.Range("A1:A999" )
 
For Each objCellule in objPlageAParcourir  
 
   Debug.print objCellule.Address & " : " & objCellule.Value
 
Next objCellule  

Reply

Marsh Posté le 07-01-2011 à 16:25:44    

oui ok, j'ai pigé je suis presque HS :D
 
l'équivalent des fonctions utilisables en  barre de formule se situe dans l'objet suivant :
 
Application.WorksheetFunction
 
la RECHERCHEV qui est VLOOKUP en anglais, est donc disponible :
 
Application.WorksheetFunction.VLookup
 
 

Reply

Marsh Posté le 07-01-2011 à 23:02:59    

Xxxaaavvv a écrit :

oui ok, j'ai pigé je suis presque HS :D

 

l'équivalent des fonctions utilisables en  barre de formule se situe dans l'objet suivant :

 

Application.WorksheetFunction

 

la RECHERCHEV qui est VLOOKUP en anglais, est donc disponible :

 

Application.WorksheetFunction.VLookup

 




c bon j'ai fini ma mission, je suis re au chomdu depuis 2 jours :o
Et ça a très bien marché avec le VLookUp [:bien]


Message édité par Kirvel le 07-01-2011 à 23:03:10

---------------
MyAnimeList
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed