Importer une valeur cellule d'un classeur vers un autre

Signaler
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
-
cs_zeps2
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
-
Bonjour,

J'ai fait (ci-dessous) un code ouvre une série de classeurs et de feuilles de ces classeurs pour m'importer en listing les valeurs de certaines cellules.
Là ou ça bloque c'est à la ligne :
"Workbooks("Import.xls").Sheets("Val").Cells(f, 1)= Workbooks("classeur").Sheets("k").Cells(Q9).Value"

QQ'1 à une idée, je pense que c'est une broutille qui me bloque.

Merci de vos réponses !!


Sub Import_Val_Cell()
'
' Défilfich Macro
' Macro enregistrée le 04/01/2008 par f.dubillot
Dim i As String
Dim chemin As String
Dim f As String
Dim classeur As String


i = 1 'n° de ligne
f = 1 'n° de ligne

While Range("B" & i) <> ""

chemin = Range("B" & i)
classeur = Range("A" & f)

Workbooks.Open Filename:=chemin

For k = 40 To 43 'n° des feuilles

Sheets(k).Select

Workbooks("Import.xls").Sheets("Val").Cells(f, 1) = Workbooks("classeur").Sheets("k").Cells(Q9) '.Value

Next

Range("Q9").Select

ActiveWindow.Close SaveChanges:=False

i = i + 1
f = 1 + 1

Sheets("Liste").Select
Wend
End Sub

6 réponses

Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Bonjour

Essaie en mettant Range("Q9") au lieu de Cells(Q9)

Amicalement
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

salut Orohena,

Cette option je l'ai déjà faite sans succés !
Merci de ta réponse,

Cordialement,
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013

Bonjour
J'aurai plutot écrite
cells(9,17)

Bonne journée
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013

bonjour,
effectivement mieux vaut mettre Range ("Q9"), car Cells attends : Cells (ligne, colonne), donc de toutes manières Cells (Q9)=ERREUR.
Et puis il me semble qu'il y a une autre erreur:
Workbooks("Import.xls").Sheets("Val").Cells(f, 1) = Workbooks("classeur").Sheets("k").Cells(Q9) '.Value 

Essaye comme tu l'as fais en mettant "Classeur.xls", donc ça ferait:
Workbooks("Import.xls").Sheets("Val").Cells(f, 1) = Workbooks("Classeur.xls").Sheets("k").Range("Q9").Value 

@+
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013

Pardon,
je vien de voir une autre erreur dans cette ligne, à savoir que tu mets:
.Sheets("k")

en mettant k entre guillemet enfait tu n'utilise pas la valeur de la variable k mais il considére k comme étant un string, donc le programme cherche une feuille qui s'appelle k pour résumer
remplace la ligne qui fait défault par:
Workbooks("Import.xls").Sheets("Val").Cells(f, 1) = Workbooks("Classeur.xls").Sheets(k).Range("Q9").Value

@+
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

Salut Hervé,

Bon ben, je comprends pas, ça ne fonctionne pas.
Bien, j'ai pas fait attention pour le nom de la feuille K ! j'aurais du le voir !!!

mais là, je bloque...

J'essaie de trouver, je cherche, mais je veux bien un coup de main !

Zeps