Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Importer des infos d'un autre fichier

6 réponses
Avatar
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

6 réponses

Avatar
FFO
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 !!!!
Avatar
Sunburn
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 !!!!



Avatar
FFO
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 !!!!
Avatar
Sunburn
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
---
Avatar
michdenis
sur ta ligne de code Thisworkbooks ne prend pas un S




"Sunburn" a écrit dans le message de
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
---
Avatar
Sunburn
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" a écrit dans le message de
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
---