Importation de données

br44

XLDnaute Impliqué
bonjours le forum ;

Je voudrais savoir si il est possible d'importer une plage de données d'un classeur ouvert vers un classeur fermer et si oui quel en serai la procédure vba pour obtenir se résultat ?

Voici quelques infos supplèmentaires :

1) le classeur ouvert se nome "F.xls"
2) le classeur fermer " " "S.xls"

3)La plage consernée est : "B27:G27" de la feuille1 du classeur ouvert
4)La plage devant recevoir est : "B5:G5" de la feuille 1 du classeur fermer

En espèrant que cela vous aide et vous remerciant par avance de l'aide que vous pouriez m'apporter. Je vous dis à plus et je vous dis "JOYeux Noël"
br44
 

Krut

XLDnaute Nouveau
Re : Importation de données

Bonjour br44,

Voici le code répondant à ta demande :

Range("B27:G27").Select
Selection.Copy
Workbooks.Open Filename:="D:\Mes Docs\S.xls"
Range("A5").Select
ActiveSheet.Paste
Range("A4").Select
ActiveWorkbook.Save
ActiveWorkbook.Close
Range("A1").Select


Bonnes Fêtes !

Krut
 

michel_m

XLDnaute Accro
Re : Importation de données

bonjour br et krut

sans ouvrir le fichier fermé:

j'ai nommé B5:G5 "cible" pour me faciliter le boulot

la référence "microsoft activeX data Object 2.x doit être activée; tu trouveras démo en PJ
Sub exporter_br44()
Dim source As ADODB.Connection
Dim rqte As ADODB.Recordset
Dim Fichier As String
dim cptr as Byte

Fichier = ThisWorkbook.Path & "\S.xls"
Set source = New ADODB.Connection
source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"


Set rqte = New ADODB.Recordset
rqte.Open "SELECT * FROM cible;", source, adOpenKeyset, adLockOptimistic

For cptr = 0 To 5
rqte.Fields(cptr).Value = Cells(27, cptr + 2).Value
Next cptr
rqte.Update

source.Close
Set source = Nothing
Set comd = Nothing
Set rqte = Nothing
End Sub

Bon dimanche, Noêl, nouvel an, paques et autres habituellement souhaitées...
 
Dernière édition:

br44

XLDnaute Impliqué
Re : Importation de données

re: Rebonjour le forum ,Kurt


Tout d'abors merci pour avoir rèpondu si rapidement . j'ai juste une petite question pour être sur d'avoir compris .

tu marques :" Range("A5") . Select " Range("A4")...et Range ("A1") ,Je suppose que sont des rèfèrences de cellules que tu en exemples est que je dois adapter en fonction des mes besoins ? Où sont -elles obligatoires dans la procedure sachant que la plage concernée est "B5:G27" comme tu le marques au début de ta procèdure ?

En tous cas merci je vais tester et je te tient au courant .A bientôt sur se fil Br44
 

Krut

XLDnaute Nouveau
Re : Importation de données

Re,

j'ai d'abord sélectionné la plage de cellule à copier Range("B5:G25")
maintenant si c'est une autre plage que tu souhaites copier il te suffit de modifier ce qui se trouve entre quillements...
Tout dépend de ce que tu souhaites faire (si c'est toujours la même plage tu peux l'inscrire dans la formule, mais si ta plage à copier n'est pas fixe... il faudra voir un autre code)

tiens nous au courant...
Krut
 

br44

XLDnaute Impliqué
Re : Importation de données

re: Bonjour le forum ,Kurt ,michel Xld

tout d'abord un grand merci pour le coup de main .

Kurt : En lisant ton dernier message je vu que tu prennais la plage ("B5:G5") comme plage à copier et la je crois que j'ai du me faire mal m'exprimer ,car ces cette plage qui doit recevoir les valeures .

je modifie donc ma demande en essayant d'être plus claire . J'ai deux classeurs :

Le premier actif qui se nomme "F.xls"
Le second fermé qui se nomme "S.xls"

Je voudrais pouvoir importer les donneés situées dans la première feuille du classeur actif c'est-à-dire :
Workbook("F.xls").Sheets("Dètail").Range("B29:G29")
vers mon classeur fermé c'est-à dire :
Workbook("S.xls").Sheets("Janvier").Range("B5:G5")

le tout dans un boucle car la plage de destination change en fonction du nom du client (voir Range("A5:A19") de la feuille "Janvier" du classeur "S.xls").

Vous trouverz ci-joint un fichier contenant les deux classeurs avec le program que j'ai essayer de faire ce matin . ce dernier ne fonctionne pas car il manque quelque chose qui déclanche la procèdure au moment voulue, mais là je suis perdu .

Michel Xld : Je suis dèsolè mais je ne comprend pas à t'as procèdure pourrais -tu m'expliquer où me dire où là placé car la je nage ! (Humour) .


Vous remerciant touts les deux pour votres patience je vous dis donc â bientôt sur ce fil et merci d'avance . br44
 

Pièces jointes

  • F.zip
    48.2 KB · Affichages: 33
  • F.zip
    48.2 KB · Affichages: 37
  • F.zip
    48.2 KB · Affichages: 29

br44

XLDnaute Impliqué
Re : Importation de données

Re:Bonjour le forum ,Kurt et Michel M

Tout D'abord " Bonne et heureuse année à tous "

Se petit message pour vous signaler que j'ai trouver une solution à mon problème .

Je mets donc fin à se fil sans omêtre de vous remercier toutes et toutes de l'intrêt que vous lui avez porté .

Je vous dit à bientôt sur un prochain fil et merci encore

br 44
 

Discussions similaires

Statistiques des forums

Discussions
312 883
Messages
2 093 240
Membres
105 657
dernier inscrit
dominique pinocchio