Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
set plg = Sheets(Feuille.Name)
..
range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value
set plg = nothing
isabelle
Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
merci Isabelle C'est tout bon. J'avais essayé avec un set mais j'avais du faire une c... quelque part!
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
merci Isabelle
C'est tout bon. J'avais essayé avec un set mais j'avais du faire une
c... quelque part!
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
set plg = Sheets(Feuille.Name)
..
range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value
set plg = nothing
isabelle
Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
merci Isabelle C'est tout bon. J'avais essayé avec un set mais j'avais du faire une c... quelque part!
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
re hello Isabelle
En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...)
ca coince sur le set.
J'ai essayé plein de variantes mais j'ai toujours une erreur : soit
l'indice n'appartient pas à la sélection, soit incompatibilité de type.
Une idée de plus ?
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
set plg = Sheets(Feuille.Name)
..
range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value
set plg = nothing
isabelle
Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
michdenis
Bonjour Misange,
Et ceci : à adapter
'------------------------------------ Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur 'dans lequel cette macro est écrite. For Each F In ThisWorkbook.Worksheets If Left(F.Name, 5) = "Feuil" Then 'Une boucle sur une plage quelconque For Each c In F.Range("A1:A10") If c.Value = 10 Then B = B + 1 Af.Range("A" & B) = c.Value End If Next End If Next
Set F = Nothing: Set Af = Nothing End Sub '------------------------------------
Salutations!
"Misange" a écrit dans le message de news:elF$ re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
Et ceci : à adapter
'------------------------------------
Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet
Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données
Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur
'dans lequel cette macro est écrite.
For Each F In ThisWorkbook.Worksheets
If Left(F.Name, 5) = "Feuil" Then
'Une boucle sur une plage quelconque
For Each c In F.Range("A1:A10")
If c.Value = 10 Then
B = B + 1
Af.Range("A" & B) = c.Value
End If
Next
End If
Next
Set F = Nothing: Set Af = Nothing
End Sub
'------------------------------------
Salutations!
"Misange" <misange@devinezou.net> a écrit dans le message de news:elF$4rkHEHA.164@TK2MSFTNGP10.phx.gbl...
re hello Isabelle
En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...)
ca coince sur le set.
J'ai essayé plein de variantes mais j'ai toujours une erreur : soit
l'indice n'appartient pas à la sélection, soit incompatibilité de type.
Une idée de plus ?
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
set plg = Sheets(Feuille.Name)
..
range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value
set plg = nothing
isabelle
Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
'------------------------------------ Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur 'dans lequel cette macro est écrite. For Each F In ThisWorkbook.Worksheets If Left(F.Name, 5) = "Feuil" Then 'Une boucle sur une plage quelconque For Each c In F.Range("A1:A10") If c.Value = 10 Then B = B + 1 Af.Range("A" & B) = c.Value End If Next End If Next
Set F = Nothing: Set Af = Nothing End Sub '------------------------------------
Salutations!
"Misange" a écrit dans le message de news:elF$ re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Merci Denis, je regarde cela mardi au labo ;-
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
Et ceci : à adapter
'------------------------------------ Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur 'dans lequel cette macro est écrite. For Each F In ThisWorkbook.Worksheets If Left(F.Name, 5) = "Feuil" Then 'Une boucle sur une plage quelconque For Each c In F.Range("A1:A10") If c.Value = 10 Then B = B + 1 Af.Range("A" & B) = c.Value End If Next End If Next
Set F = Nothing: Set Af = Nothing End Sub '------------------------------------
Salutations!
"Misange" a écrit dans le message de news:elF$ re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Merci Denis, je regarde cela mardi au labo ;-
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
Et ceci : à adapter
'------------------------------------
Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet
Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données
Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur
'dans lequel cette macro est écrite.
For Each F In ThisWorkbook.Worksheets
If Left(F.Name, 5) = "Feuil" Then
'Une boucle sur une plage quelconque
For Each c In F.Range("A1:A10")
If c.Value = 10 Then
B = B + 1
Af.Range("A" & B) = c.Value
End If
Next
End If
Next
Set F = Nothing: Set Af = Nothing
End Sub
'------------------------------------
Salutations!
"Misange" <misange@devinezou.net> a écrit dans le message de news:elF$4rkHEHA.164@TK2MSFTNGP10.phx.gbl...
re hello Isabelle
En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...)
ca coince sur le set.
J'ai essayé plein de variantes mais j'ai toujours une erreur : soit
l'indice n'appartient pas à la sélection, soit incompatibilité de type.
Une idée de plus ?
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
set plg = Sheets(Feuille.Name)
..
range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value
set plg = nothing
isabelle
Coucou,
Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour
récupérer certaines valeurs dans un autre classeur
Ca donne quelque chose comme ça :
For Each Feuille In Workbooks("truc.xls").Worksheets
If Left(Feuille.Name, 3) = "cc#" Then
...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est
de faire référence à la feuille en question. Genre
range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value
qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore
avant même qu'elle soit lue...
Que faut-il écrire ???
merci d'avance
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
Et ceci : à adapter
'------------------------------------ Sub CopierDonnées()
Dim F As Worksheet, Af As Worksheet Dim Rg As Range, B As Long
'Af = Feuille du classeur où seront copiées les données Set Af = Workbooks("Classeur1.xls").Worksheets("Feuil1")
'Boucle sur toutes les feuilles du classeur 'dans lequel cette macro est écrite. For Each F In ThisWorkbook.Worksheets If Left(F.Name, 5) = "Feuil" Then 'Une boucle sur une plage quelconque For Each c In F.Range("A1:A10") If c.Value = 10 Then B = B + 1 Af.Range("A" & B) = c.Value End If Next End If Next
Set F = Nothing: Set Af = Nothing End Sub '------------------------------------
Salutations!
"Misange" a écrit dans le message de news:elF$ re hello Isabelle En fait j'ai répondu trop vite (mais bizarement ça a fonctionné une fois...) ca coince sur le set. J'ai essayé plein de variantes mais j'ai toujours une erreur : soit l'indice n'appartient pas à la sélection, soit incompatibilité de type. Une idée de plus ?
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
le 09/04/2004 15:08:
hello Flo,
peux être en créeant un objet,
For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then set plg = Sheets(Feuille.Name) .. range("[new.xls]milieux!D2").value= = plg.range(feuille!A26).value set plg = nothing
isabelle
Coucou, Je parcours en VBA les différentes feuilles d'un classeur (ouvert) pour récupérer certaines valeurs dans un autre classeur Ca donne quelque chose comme ça : For Each Feuille In Workbooks("truc.xls").Worksheets If Left(Feuille.Name, 3) = "cc#" Then ...
Le pb ensuite, sur la feuille d'arrivée, dans le nouveau classeur, c'est de faire référence à la feuille en question. Genre range("[new.xls]milieux!D2").value= = range([truc.xls]feuille!A26).value qui est une syntaxe typiquement volatile dans le sens qu'elle s'évapore avant même qu'elle soit lue... Que faut-il écrire ??? merci d'avance
-- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta