Importer des infos d'un autre fichier

Le
Sunburn
Bonjour,
je voudrais un petit module "d'import" sur mon classeur "MOI.xls" (le nom
n'est pas fixe)
En fait, je voudrais une msgbox qui demande quel fichier il faut traiter,
puis faire le traitement suivant :
1/ sélectionner de la cellule A2 à la dernière colonne de la dernière ligne
A saisie
2/ copier cette sélection
3/ coller la selection sur l'onglet "Alpha" de mon classeur "MOI.xls", à
partir de la cellule A3.
pour le petit 1, c'est par raccourci : Ctrl+Shift+fleche bas+fleche droite
2fois

sur cjoint, un modele de ce que je veux selectionner, soit [A2:F179]
http://cjoint.com/?bgr3KyPCTU

Merci beaucoup.

YANN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18321441
Salut à toi

Ce code devrait faire :

ChDrive ("C")
ChDir ("C:CheminMonDossier")
Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
Workbooks("MOI.xls").Sheets("Alpha").Range("A3")
ActiveWorkbook.Close

Actualises les lignes

ChDrive ("C")
ChDir ("C:CheminMonDossier")

du lecteur et du chemin de ton dossier dans lequel figurent tes fichiers

Une boîte de dialogue te demande dans ce dossier de choisir le fichier à
ouvrir puis recopie dans ton fichier "MOI.xls" onglet "Alpha" tes données et
referme le fichier

Je suppose qu'à l'ouverture du fichier sélectionné l'onglet présenté est
celui des données à récupérer sinon il me faut son nom pour le rajouter dans
le code

Fais des essais et dis moi !!!!
Sunburn
Le #18322551
Salut,
ok, je comprend l'esprit, mais mon fichier MOI.xls n'est pas figé, donc je
ne peux pas le nommé.
De plus, l'emplacement est différent lui aussi.
Donc j'ai commencé à adapter ton code.
Suis-je sur la bonne voie ??
**Le chemin que la boite de dialogue montre n'est pas l'emplacement de mon
fichier de base, je me suis planté quelque part"
Merci. YANN
----
Sub ImportBal()
Chemin = ThisWorkbook.path
MsgBox ("Ce module va vous permettre d'importer la balance. Choisissez le
fichier de votre balance")
'ChDrive ("C")
ChDir (Chemin)
Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
Thisworkbooks.Sheets("Balances").Range ("A3")
ActiveWorkbook.Close

End Sub
------

"FFO" a écrit :

Salut à toi

Ce code devrait faire :

ChDrive ("C")
ChDir ("C:CheminMonDossier")
Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
Workbooks("MOI.xls").Sheets("Alpha").Range("A3")
ActiveWorkbook.Close

Actualises les lignes

ChDrive ("C")
ChDir ("C:CheminMonDossier")

du lecteur et du chemin de ton dossier dans lequel figurent tes fichiers

Une boîte de dialogue te demande dans ce dossier de choisir le fichier à
ouvrir puis recopie dans ton fichier "MOI.xls" onglet "Alpha" tes données et
referme le fichier

Je suppose qu'à l'ouverture du fichier sélectionné l'onglet présenté est
celui des données à récupérer sinon il me faut son nom pour le rajouter dans
le code

Fais des essais et dis moi !!!!



FFO
Le #18324461
Rebonjour à toi

ThisWorkbook représente le classeur qui possède la macro en cours d'éxécution
Donc

Chemin = ThisWorkbook.Path

représente l'adresse de ce fichier

Est ce celui attendu ????

Sinon peut être utiliser ceci :

Chemin = ActiveWorkbook.Path

Chemin représentera l'adresse du fichier actif et non celui de la macro en
cours

De plus la ligne :

'ChDrive ("C")

est indispensable si le dernier lecteur utilisé pour cette fonction était un
autre lecteur
Il doit donc ne pas être précédé d'une cote
Il faut mettre:

ChDrive ("C")

Le lecteur doit correspondre à celui de la variable Chemin

Si le lecteur est amené à changer selon le fichier que représente la
variable Chemin
Tu peux mettre ceci pour adapter le code :

ChDrive (Mid(ActiveWorkbook.Path, 1, 1))

Celà donne donc:

Chemin = ActiveWorkbook.Path
ChDrive ("C")
ChDir (Chemin)

ou

Chemin = ActiveWorkbook.Path
ChDrive (Mid(ActiveWorkbook.Path, 1, 1))
ChDir (Chemin)

Je pense qu'avec tout celà tu devrait trouver ton bonheur

Dis moi !!!!
Sunburn
Le #18325911
Re,
c'est deja vachement mieux, mais il plante "objet requis"
il plante là **** (je te redonne toute ma macro):merci. YANN
---
Sub ImportBal()
rep = MsgBox("Ce module va vous permettre d'importer la balance en
choisissant le fichier de votre choix." _
& vbLf & "Etes-vous sûr de vouloir continuer", vbYesNo)
If rep = vbNo Then Exit Sub
Chemin = ActiveWorkbook.path
ChDrive (Mid(ActiveWorkbook.path, 1, 1))
ChDir (Chemin)

Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
******* Thisworkbooks.Sheets("Balances").Range ("A3") '**************
ActiveWorkbook.Close
End Sub
---
michdenis
Le #18326261
sur ta ligne de code Thisworkbooks ne prend pas un S




"Sunburn" news:
Re,
c'est deja vachement mieux, mais il plante "objet requis"
il plante là **** (je te redonne toute ma macro):merci. YANN
---
Sub ImportBal()
rep = MsgBox("Ce module va vous permettre d'importer la balance en
choisissant le fichier de votre choix." _
& vbLf & "Etes-vous sûr de vouloir continuer", vbYesNo)
If rep = vbNo Then Exit Sub
Chemin = ActiveWorkbook.path
ChDrive (Mid(ActiveWorkbook.path, 1, 1))
ChDir (Chemin)

Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
******* Thisworkbooks.Sheets("Balances").Range ("A3") '**************
ActiveWorkbook.Close
End Sub
---
Sunburn
Le #18342551
Merci, oui c'est mieux, mais tout de même il plante.
et au niveau d'excel, j'ai mon fichier à copier qui est actif, les cellules
voulues selectionnées, mais rien ne se colle dans mon fichier propriétaire
des macros (Thisworkbook normalement,non ?)

Merci de votre aide.
YANN

"michdenis" a écrit :

sur ta ligne de code Thisworkbooks ne prend pas un S




"Sunburn" news:
Re,
c'est deja vachement mieux, mais il plante "objet requis"
il plante là **** (je te redonne toute ma macro):merci. YANN
---
Sub ImportBal()
rep = MsgBox("Ce module va vous permettre d'importer la balance en
choisissant le fichier de votre choix." _
& vbLf & "Etes-vous sûr de vouloir continuer", vbYesNo)
If rep = vbNo Then Exit Sub
Chemin = ActiveWorkbook.path
ChDrive (Mid(ActiveWorkbook.path, 1, 1))
ChDir (Chemin)

Workbooks.Open Filename:=Application.GetOpenFilename("(*.xls),")
ActiveSheet.Range("A2",
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
******* Thisworkbooks.Sheets("Balances").Range ("A3") '**************
ActiveWorkbook.Close
End Sub
---




Publicité
Poster une réponse
Anonyme