OVH Cloud OVH Cloud

Récup de donnés d'un fichier

3 réponses
Avatar
YANN24
Bonjour.
J'ai un fichier A.xls et B.xls. Je voudrais, par macro, récupérer sur la
feuille "XY" de mon fichier A, ce qu'il y a d'écris sur la feuille "123",
cellulles A1 à O19 de mon fichier B.
Pour l'instant j'ai eu cette macro, mais ça ne me comble pas vraiment.
Comment la modifier? Merci d'avance. YANN

Sub valeurExterne()
ligne = 1
colonne = 1
onglet = "2005"
Fichier = "Fiche-AGNES.xls"
rep = "Q:\Commun\Fiches de temps"
For colonne = 1 To 15
For ligne = 1 To 19
MsgBox ExecuteExcel4Macro("'" & rep & "\[" & Fichier & "]" & onglet & "'!R"
& ligne & "C" & colonne & "")
Next
Next
End Sub

3 réponses

Avatar
Christian.L
Bonjour

Tu es obligé de passer par une macro ?
Le plus simple dans chaque cellule de la feuille "XY" du fichier A
"=[B.xls]123!LC"
Ensuite tu fait un "Copier/Collage spécial" avec valeur et le tour est joué

Si tu veux vraiment une macro, tu enregistre toute la manoeuvre dans une
macro par l'enregistrement automatique.

Bon courage

C.L.

"YANN24" a écrit dans le message de
news:
Bonjour.
J'ai un fichier A.xls et B.xls. Je voudrais, par macro, récupérer sur la
feuille "XY" de mon fichier A, ce qu'il y a d'écris sur la feuille "123",
cellulles A1 à O19 de mon fichier B.
Pour l'instant j'ai eu cette macro, mais ça ne me comble pas vraiment.
Comment la modifier? Merci d'avance. YANN

Sub valeurExterne()
ligne = 1
colonne = 1
onglet = "2005"
Fichier = "Fiche-AGNES.xls"
rep = "Q:CommunFiches de temps"
For colonne = 1 To 15
For ligne = 1 To 19
MsgBox ExecuteExcel4Macro("'" & rep & "[" & Fichier & "]" & onglet &
"'!R"

& ligne & "C" & colonne & "")
Next
Next
End Sub



Avatar
YANN24
Bonjour,
Non, je voudrais faire ça par macro, pour que ça se mette à jour dès que
j'ouvre mon fichier A. Et comme je veut aussi reproduire la mise en forme et
le contenu des cellules (j'ai des dates, des mots et des chiffres), et que je
dois copier sur A les tableaux de plus de 20 fichiers cibles, tout en auant
une mise à jour, une macro est plus appropriée je crois. Par contre je n'ai
pas besoin des formules de mes tableaux sources, seules la valeur, la mise en
forme et la propriété des celulles copiées m'intéressent. Si tu peux m'aider,
merci. YANN


Bonjour

Tu es obligé de passer par une macro ?
Le plus simple dans chaque cellule de la feuille "XY" du fichier A
"=[B.xls]123!LC"
Ensuite tu fait un "Copier/Collage spécial" avec valeur et le tour est joué

Si tu veux vraiment une macro, tu enregistre toute la manoeuvre dans une
macro par l'enregistrement automatique.

Bon courage

C.L.

"YANN24" a écrit dans le message de
news:
Bonjour.
J'ai un fichier A.xls et B.xls. Je voudrais, par macro, récupérer sur la
feuille "XY" de mon fichier A, ce qu'il y a d'écris sur la feuille "123",
cellulles A1 à O19 de mon fichier B.
Pour l'instant j'ai eu cette macro, mais ça ne me comble pas vraiment.
Comment la modifier? Merci d'avance. YANN

Sub valeurExterne()
ligne = 1
colonne = 1
onglet = "2005"
Fichier = "Fiche-AGNES.xls"
rep = "Q:CommunFiches de temps"
For colonne = 1 To 15
For ligne = 1 To 19
MsgBox ExecuteExcel4Macro("'" & rep & "[" & Fichier & "]" & onglet &
"'!R"

& ligne & "C" & colonne & "")
Next
Next
End Sub








Avatar
Dude
Tu peux essayer

sub ValeurExterne

rep = "Q:CommunFiches de temps"
Fichier = "Fiche-AGNES.xls"
Workbooks.Open Filename:= _
rep & "" & fichier
workbooks(Fichier).Sheets("123").Range("A1:O19").copy
ThisWorkbook.Sheets("XY").cells(1,1).paste
workbooks(Fichier).close

end sub

(code non testé).

Cela dit :

1 - tu ne précises pas ce qui te dérange dans ta macro de départ
2 - tu es en train de faire une base de données sur Excel, or Excel est un
tableur, pas une base de données.... (pourquoi pas plutôt Access, MySQL,
Filemaker ou n'importe quel autre logiciel, qui sont si simple à mettre en
place???)
M'enfin, pour ce que j'en dis :)



"YANN24" wrote in message
news:
Bonjour.
J'ai un fichier A.xls et B.xls. Je voudrais, par macro, récupérer sur la
feuille "XY" de mon fichier A, ce qu'il y a d'écris sur la feuille "123",
cellulles A1 à O19 de mon fichier B.
Pour l'instant j'ai eu cette macro, mais ça ne me comble pas vraiment.
Comment la modifier? Merci d'avance. YANN

Sub valeurExterne()
ligne = 1
colonne = 1
onglet = "2005"
Fichier = "Fiche-AGNES.xls"
rep = "Q:CommunFiches de temps"
For colonne = 1 To 15
For ligne = 1 To 19
MsgBox ExecuteExcel4Macro("'" & rep & "[" & Fichier & "]" & onglet &
"'!R"
& ligne & "C" & colonne & "")
Next
Next
End Sub