[XL 2010] Utiliser une base de donnée pour documenter un autre fichier

excelnoob

XLDnaute Nouveau
Bonjour à tous,


Je souhaite utiliser un tableau de plusieurs milliers de lignes, qui me sert de base de données et récupérer certaines cellules de cette base pour un autre fichier via un système de recherche (dans des zones déterminéées).

Je souhaite que l'opération se face automatiquement via une macro (Etant nul en macro, j'ai fouillé dans le forum mais aucun exemple ne correspond vraiment à mon besoin .... je m'excuse pour ma noobitude....)

(Le fichier de destination peut changer régulièrement, mais la mise en forme restera la même à chaque fois).


Le fichier 1 représente mon fichier "base de données" (les colonnes et ligne sont exactement sous ce format mais avec quelques milliers de lignes en plus :p).
Le fichier 2 représente, mon document où je veux retrouver les informations (idem les colonnes et lignes sont respectée, même principe).

L'opréation souhaitée :
- le fichier 2 doit faire sa recherche à partir la colonne P, pour récupérer les informations venant du fichier 1.
- Le fichier 1 doit s'appuyer de la colonne C pour aider à la recherche.

Donc récaptitulatif :

Le fichier 2 lance la macro, prend chaque cellule de la colonne P et va vérifier dans le fichier 1 (colonne C), la cellule qui correspond à la recherche.
La cellule trouvée dans le fichier 1, le but est de copier les colonnes M à ... de la même ligne et les copier en lieu et place dans le fichier 2 à partir de la colonne W.

Je vous ai mis 2 fichiers (1 "base de données") et (2"fichier final").

Pour expliquer mon besoin plus facilement, j'ai rajouté des couleurs pour identifier facilement le but que je recherche.


Merci d'avance pour votre aide !!
 

Fichiers joints

Dernière édition:

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour $

Un tout petit up du sujet, en espérant qu'on sera en mesure de m'aider.

++
 

pat01200

XLDnaute Occasionnel
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour a10, bonjour le forum,

Juste une question : d'où proviennent les noms de la colonne "P" de ton "Fichier 2" ? Les remplis-tu manuellement ? Si c'est le cas, il n'y a pas besoin d'une macro pour rechercher les éléments que tu veux dans ton "Fichier1", ni besoin de les copier/coller, une simple RECHERCHEV doit faire l'affaire !

A confirmer...
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

re Bonjour^^


Déjà merci de ton interêt pour mon problème.


A ta question :

Nan, ma colonne P vient d'un fichier qui tourne en format automatique avec des macros.

Une fois la macro finit, on arrive à la colonne P, par rapport à ce que je cherche à remplir pour la suite.

A savoir l'exemple que je donne fonctionne sur 4,5 colonnes.
Mais le à recopier peut aller jusqu'à au moins 80 colonnes voir plus, selon le nombre de données que je récupère par rapport à ma base de données (ramené à celà à plusieurs milliers de lignes).
De plus, j'aurais au final plusieurs fichier "base de données" différentes mais structurées de la même façon que l'exemple pour me faciliter un peu la vie quand même$^

Si, quelqu'un arrive à trouver la solution à mon problème, je pourrais ensuite l'utiliser quelques soit le fichier de base de donnée d'origine et quelques soit le fichier de réception (car là aussi j'aurais au final, pas qu 'un seul fichier de destination), mais encore une fois j'ai fait de manière à avoir toujour sun format standard pour faciliter l'ensemble.

Donc imagine à la main vu la quantité d'info et le nombre de fichiers ,... bon courage^^. D'où ma demande pour m' aider à trouver une macro à mon problème ^^

encore merci d'avance pour l'aide ^^
 

pat01200

XLDnaute Occasionnel
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Ok, je résume :
Dans ton "Fichier 2", des données sont transférées par macro à partir d'un quelconque fichier et viennent remplir les colonnes "P" à "T", et toi tu voudrais que se remplissent automatiquement les colonnes "W" à ... xxx (donnée variable) avec les données des colonnes "M" à ... yyy (autre donnée variable) de ton "Fichier 1", c'est bien ça ?
 

pat01200

XLDnaute Occasionnel
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

PS : le balayage de milliers de lignes n'est pas un problème, c'est le nombre de colonnes concernées qui l'est un peu plus...
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Re Pat,

Oui tu as resumé de façon simple mon roman :p

C'est bien ça
 

pat01200

XLDnaute Occasionnel
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Ok excelnoob, je vais réfléchir à ton problème, mais je ne te promets pas de solution miracle, car le problème reste le nombre variable de tes colonnes (tant dans tes fichiers d'origine (bases) que dans tes fichiers de destination (type "Fichier 2")...
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Ok merci Pat.

De toute façon, je ne peux qu 'espérer que tu y arrives, car je n'ai pas le niveau excel pour faire ça de moi même :p
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour tout le monde,


Pat, si ça peut t'aider, j'ai remarqué que dans mes bases de données c'est "tu as des données successifs à partir de la colonne M jusqu'à arriver à une cellule vide", à ce moment tu passes à la ligne suivante.

N'est -il pas possible de prendre en compte pour les colonnes un principe dans ce cas du genre, si cellule non vide intégrer la valeur dans le fichier 2 si cellule vide passer à la ligne suivante ou dans ce genre ?

En espérant que celà pourra t'aider .

A+
 
Dernière édition:

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour à tous ^^

un petit up du sujet, je n'ai pas la solution à mon problème actuellement


Merci d'avance à vous tous
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Salut et merci de ton aide,


Pfiou , je susi impressionné là ..

Je vais testé ta proposition sur plusieurs fichiers.

Je te confirme d'ici demain au plus tard si c'est ok où non du coups.

en tout cas impressionnant ..
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour à tous,


J'ai testé ton fichier Boulatwo

En mettant dans Base de conversion : le chemin "une base de donnée" 'de 40 colonnes et 3300 lignes

En mettant dans fichier à convertir " le fichier 2" que tu m'avais mis en y mettant en colonne P une 100 ene de ligne pour faire le lien avec la base de donnée.

Réponse de la macro "erreur d'execution6" "dépassement de capacité".

J'ai testé aussi en mettant ma base de donnée en lieu et place dan le fichier 1 la ou se trouve la macro.

Même réponse.

Soit j'utilise mal ta macro, soit il y a vraiment un dépasement de capacité par rapport à ce que tu as écrit.

Un point remarquable , ta macro ne prend pas en compte toutes le scolonnes du fichier 1 car elle bloque à la colonne S, si j'ai plus de colonnes il ne prend pas.

J'ai resté en mettant cette fois une base de donnée de + 600 lignes et une 30 ène de colonnes -> Réponse de la macro "erreur d'execution6" "dépassement de capacité".

En revanche la macro a fonctionné sur une 10 ène de lignes et sur une base de données n edépassant pas la colonne S diu fichier 1.

Qu'en penses-tu ?
 
Dernière édition:

boulatwo

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Bonjour,

Peux-tu mettre en PJ les fichiers STP
 

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

ok avec plaisir

mais pour respecter la charte je dois rendre les fichiers sans info personnel donc attend 2 min ^^
 

boulatwo

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Re-bonjour excelnoon,

Il me manquait initialement 2 informations :
-1- le nombre de ligne de tes fichiers
-2- le nombre de cellule à copier

D'où les problèmes que tu as rencontrés.

Concernant le -1-:
Il faut changer les déclarations des variables : "Dim Var1 as Int" en "Dim Var1 as Long" ce qui allouera plus de place mémoire. (Cf PJ)

Concernant le -2-:
Je me suis calqué initialement sur ton problème où il y avait 7 cellules à copier sur chaque ligne.
Dans le fichier en PJ le nombre de cellule à copier est déterminé ligne après ligne

En espérant que cette fois ça sera bon pour toi ;-)
 

Fichiers joints

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

voilà je t'ai mis 2 exemples nettoyés de toutes infos personnels


D'ailleurs, tu verras que mon nom d'onglet ou se trouve la base peut changer de même pour mon onglet de réception.

J'ai mis TITI et TOTO pour exemple.


Merci d'avance pour ton aide
 

Fichiers joints

excelnoob

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

j'ai testé tes 2 derniers fichiers.

Ils fonctionnent parfaitement, merci beaucoup !!

Juste pour savoir est-il possible de rajouter la possibilité de la sélection de l'onglet ciblé dans une fichier précis ?

As-tu vérouillé la macro car je souhaitais l'utiliser pour un autre tableau qui a juste des colonnes dans un ordre différent mais même principe(cétait pour pouvoir modifier l'ordre des colonnes pour l'adapter à l'autre besoin).

En tout cas déjà, un grand merci car tu m'enlèves un gros soucis.. :p
 

boulatwo

XLDnaute Nouveau
Re : [XL 2010] Utiliser une base de donnée pour documenter un autre fichier

Re-bonjour excelnoob,

Tout est possible pour la sélection de l'onglet,...(Cf PJ)

Les macros ne sont pas vérouillées (il faut passer par le visual basic editor d'excel)

Dis-moi si c'est bon pour toi ...
 

Fichiers joints

Haut Bas