OVH Cloud OVH Cloud

copier une cellule de plusieurs feuilles

5 réponses
Avatar
Zolive
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une 'erreur 9'
que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie la
cellule A8 de toutes les feuilles du "classeurSource" et les colle les une
en dessous des autres sur une même page du classeur2... voici ma macro:

(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau classeur,
mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive

5 réponses

Avatar
papou
Bonjour
Un exemple à adpater (ici le classeur source est celui qui contient les
valeurs et la macro)
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, 1).Value = F.Range("A8")
Next F

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news:41875b61$0$28701$
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une 'erreur
9'

que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie la
cellule A8 de toutes les feuilles du "classeurSource" et les colle les une
en dessous des autres sur une même page du classeur2... voici ma macro:

(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau classeur,
mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive




Avatar
Zolive
Génial....ca marche plus que bien....

merci papou :-)



"papou" a écrit dans le message de
news:%
Bonjour
Un exemple à adpater (ici le classeur source est celui qui contient les
valeurs et la macro)
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, 1).Value = F.Range("A8")
Next F

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news:41875b61$0$28701$
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une 'erreur
9'

que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie la
cellule A8 de toutes les feuilles du "classeurSource" et les colle les
une


en dessous des autres sur une même page du classeur2... voici ma macro:

(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau
classeur,


mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive








Avatar
Zolive
Génial....ca marche plus que bien....

merci papou :-)


J'ai quand meme une petite question...

Comment adapter la macro pour que les cellules collé ds le fichier
destination le soit dans la colonne ou ce trouve la cellule active...

J'abuse je sais mais j'ai essayer de la modifier ss succes...

Merci encore par avance


"papou" a écrit dans le message de
news:%
Bonjour
Un exemple à adpater (ici le classeur source est celui qui contient les
valeurs et la macro)
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, 1).Value = F.Range("A8")
Next F

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news:41875b61$0$28701$
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une
'erreur



9'
que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie la
cellule A8 de toutes les feuilles du "classeurSource" et les colle les
une


en dessous des autres sur une même page du classeur2... voici ma
macro:




(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau
classeur,


mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive












Avatar
papou
Re
Oui c'est possible mais la seule chose c'est qu'il faut activer le classeur
avant de définir la cellule active.
Donc dans le cas où il s'agit de la cellule active du classeur ClasseurDest
:
Sub CopieLesValeurs()
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long, y As Long
ClasseurDest.Activate
y = Application.ActiveWindow.ActiveCell.Column
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, y).Value = F.Range("A8")
Next F
End Sub

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news:418766ce$0$21070$

Génial....ca marche plus que bien....

merci papou :-)


J'ai quand meme une petite question...

Comment adapter la macro pour que les cellules collé ds le fichier
destination le soit dans la colonne ou ce trouve la cellule active...

J'abuse je sais mais j'ai essayer de la modifier ss succes...

Merci encore par avance


"papou" a écrit dans le message de
news:%
Bonjour
Un exemple à adpater (ici le classeur source est celui qui contient
les



valeurs et la macro)
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, 1).Value = F.Range("A8")
Next F

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message
de



news:41875b61$0$28701$
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une
'erreur



9'
que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie
la




cellule A8 de toutes les feuilles du "classeurSource" et les colle
les




une
en dessous des autres sur une même page du classeur2... voici ma
macro:




(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau
classeur,


mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive
















Avatar
Zolive
merci papou...

je me doutais d'une action comme celle-ci mais pour la syntaxe je n'y étais
pas du tout


Merci encore..


"papou" a écrit dans le message de
news:
Re
Oui c'est possible mais la seule chose c'est qu'il faut activer le
classeur

avant de définir la cellule active.
Donc dans le cas où il s'agit de la cellule active du classeur
ClasseurDest

:
Sub CopieLesValeurs()
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long, y As Long
ClasseurDest.Activate
y = Application.ActiveWindow.ActiveCell.Column
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, y).Value = F.Range("A8")
Next F
End Sub

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news:418766ce$0$21070$

Génial....ca marche plus que bien....

merci papou :-)


J'ai quand meme une petite question...

Comment adapter la macro pour que les cellules collé ds le fichier
destination le soit dans la colonne ou ce trouve la cellule active...

J'abuse je sais mais j'ai essayer de la modifier ss succes...

Merci encore par avance


"papou" a écrit dans le message de
news:%
Bonjour
Un exemple à adpater (ici le classeur source est celui qui contient
les



valeurs et la macro)
Dim ClasseurSource As Workbook
Dim ClasseurDest As Workbook
Set ClasseurSource = Workbooks(ThisWorkbook.Name)
Set ClasseurDest = Workbooks("Classeur2.xls")
Dim F As Worksheet, i As Long
i = 0
For Each F In ClasseurSource.Sheets
i = i + 1
ClasseurDest.Worksheets("Feuil1").Cells(i, 1).Value = F.Range("A8")
Next F

Cordialement
Pascal

"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message
de



news:41875b61$0$28701$
Bonjour à tous,

Voila j'ai adapté une macro de l'enregistreur mais il me met une
'erreur



9'
que je ne comprends pas..

Voila ce que devrait faire ma macro.

Sur un classeur avec bcp de feuilles je voudrai que ma macro copie
la




cellule A8 de toutes les feuilles du "classeurSource" et les colle
les




une
en dessous des autres sur une même page du classeur2... voici ma
macro:




(pour lancer ma macro je me trouve dans le classeur source)

sub XXX
Range("A8").Select
Selection.Copy
ActiveSheet.Next.Select
Windows("Classeur2").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate
Windows(classeurSource).Select
end sub


la macro me copie bien la valeur de la cellule a8 ds le nouveau
classeur,


mais je n'arrive pas à le faire revenir sur le classeur source...

Merci par avance de votra aide...

Zolive