Cherche à rapatrier des données Excel ( VBA )

Fermé
Marie - 21 avril 2010 à 09:06
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010 - 29 avril 2010 à 16:34
Bonjour, je cherche depuis longtemp comment faire pour prendre plusieurs informations présent sur des fichiers Excel et les faire figurer dans un seul et unique tableau Excel. si quelqu'un peut venir à mon secour je le remercie d'avance
:))

A voir également:

7 réponses

Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
21 avril 2010 à 10:56
Pourrais tu donner un exemple de ce que tu as et de ce que tu veux obtenir !

Par exemple donner le type d'infos que tu désir copier ( texte , date , heure , chiffre,...)
Et permet moi de demander confirmation
Tu veux copier certaines colonnes ou lignes de fichiers sources vers un seul fichier destinataire.
Et doit tu réunir plusieurs infos dans une même cellules ?

je suppose que dans ton fichier destinataire tu as déjà des titres de colonnes et de lignes , si certaines lignes sont fusionner il te faudra les dé-fusionner , VBA n'aime pas trop cela.
0
bonjour merci d'avance d'avoir répondu à mon message.
Je te dis toute de suite c'est assez compliqué à expliquer mais je vais te donner des exemples pour expliquer.
En faite ca serais plus facile que je te l'envoi nn?
enfin je te di ce que je souhaite
j'ai créer un formulaire de saisie sur lesquel je doit sélectionner un type de contrat(5choix possible) et lorsque je valide cela m'ouvre un fichier ou sont reportés mon données saisie précedement dans mon formulaire. tous cela marche parfaitement
cependant je voudrais que toute les info qui sont enregistrer dans ces fichiers s'enregistre aussi dans un tableau unique (voila mon problème)
donc par exemple j'ai créer un fichier "Toto" et je voudrais que les informations contenu dans ce fichier soit enregistré dans un tableau (qui se situe dans un autre fichierExcel)
voila j'espere que vous aurez compris mes explications
0
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
29 avril 2010 à 11:29
désolé pour le retard pb de clé 3G


Windows("source.xlsm").Activate
Sheets("Feui1").Select
Range("G:G,I:I").Select
Range("I1").Activate
Selection.Copy
Windows("destination.xlsm").Activate
Sheets("Feuil1").Select
Range("G1").Select
ActiveSheet.Paste
Application.CutCopyMode = False


voila un code qui te permet de copier les colonnes les G et I du fichier source vers les colonnes du fichier destinataire
(il faut pour cela que ton fichier source soit ouvert)
tu peux parfaitement changer la plage de données a copier et la destination (rien ne doit forcement étre identique)

j'espère que ça t'aide
n'hésite pas à poser des questions
0
oui j'en est plein des questions :))
la première c'est que je crois pas que cela convienne car je cherche pas a coller seulement mes données mais tout a bord je doi faire un tri
d'autre part c'est tu utiliser les requête SQL?
0
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
29 avril 2010 à 11:47
Pour les requête SQL , c'est pas ma tasse de thé

quand tu dis faire un tri , tu veux dire filtrer tes données avant de les copier ?
0
oui en faite j'ai deux tableau que je souhaiteré remplir automatiquement avec les données que j'ai fait apparaitre dans un autre tableau. cependant les données dans le tableau 1(on va l'appeler comme ca) ne comporte que les données qui on un numero de compte commencant par des numero bien défini. et le tableau2 doit avec les données qui correspond a tous les contrats qui sont sur plusieur année. jespere que tu comprend et tu vas pouvoir m'aider.
0

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

Posez votre question
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
29 avril 2010 à 12:13
je t'avouerais que je n'ai pas tout compris , alors pour évité de te répondre quelque chose d'inutile je préfère que tu ré-explique
tes tableaux 1 ET 2 sont à remplir automatiquement grâce aux données tu tableaux 3
ton tableau 1 dont comporter des données spécifiques (filtrées)
mais sur ton tableau 2 je n'ai rien compris et je ne sais pas si les 1 et 2 ont un lien ou pas
si après ta réponse à cela je ne comprends toujours pas , je pense que je n'arriverai pas à te répondre.

(ce que tu explique la crée une différence avec ce que tu avais expliqué au tout début !)
0
donc oui cé tou a fé ca pour le tableau 1.
dans mes information j'ai une date de fin de contrat et si cette date a pour année celle actuellement (c'est a dire si j'ai come date 21/12/2010 alors je ne reporte pas ces information mais si la date est 12/12/2013 alors y faut quel apparaisse dan le tableau2.
nn les tableau 1 et 2 non aucun lien enfin les données qui doivent se mettre dans le tableau 1 ne se mettron pas dans le tableau2
0
avez vous compris mes explications?
0
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
29 avril 2010 à 14:06
pour le tableau 1 pour faire une macro simple , il faudrait filtrer le fichier le tableau source , puis copier les informations que laisse apparaitre le filtre (les infos qu'il nous faut somme toute) dans le tableau 1 et ensuite annulé le filtre

pour le tableau 2 il faudrait utilisé une directive IF...THEN...ELSE ("si...alors...sinon") cad si la date est <ou= a aujourd'hui alors il ne fait rein sinon il copie les infos dans le tableau 2

si cette solution te conviens je peux te fournir les codes qui correspondent , mais je n'aurais pas le temps aujourd'hui !
0
oui sa serai une bonne solution je veux bien que tu me donne les codes. merci beaucoup
0
question a part savez vous ecrire "si C7 est compris entre 613 et 614 alors"
0
Maisquellegalere Messages postés 16 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 18 mai 2010
29 avril 2010 à 16:34
Public Sub C7_compris_entre ()

Dim Nb As Double

Nb= Feuil1.Cells(7, 3)

If Nb > 613 Then

If Nb < 614 Then

ICI CE QUE TU VEUX METTRE APRES LE "ALORS"


End Sub
0