OVH Cloud OVH Cloud

pb de transfert d'une valeur de chaque feuille sur feuille 1

10 réponses
Avatar
Antoine76
Bonjour,

sous Excel 2000, je souhaite faire une macro qui fasse ressortir en colonne
sur le 1er onglet, une date qui se trouve sur tous les onglets, toujours
dans la même cellule (A2). Sans doute très simple, mais je bloque
pitoyablement sur la récupération de la valeur de la cellule ...
Peut-être quelqu'un aurait-il la lueur de lucidité que je semble pas n'avoir
pas encore retrouvée en ce petit matin frais.

voici le code qui me crée une migraine !

Range("D1").Select
For Each i In ActiveWorkbook.Sheets
x = i.Name
ActiveCell.Value = Worksheets("'" & x & "'").Range("A2").Value
ActiveCell.Offset(1, 0).Select
Next i


Merci à tous

Antoine

10 réponses

Avatar
Pounet95
Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles du
classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf celle
en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur issue
de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Antoine76" a écrit dans le message de news:

Bonjour,

sous Excel 2000, je souhaite faire une macro qui fasse ressortir en
colonne
sur le 1er onglet, une date qui se trouve sur tous les onglets, toujours
dans la même cellule (A2). Sans doute très simple, mais je bloque
pitoyablement sur la récupération de la valeur de la cellule ...
Peut-être quelqu'un aurait-il la lueur de lucidité que je semble pas
n'avoir
pas encore retrouvée en ce petit matin frais.

voici le code qui me crée une migraine !

Range("D1").Select
For Each i In ActiveWorkbook.Sheets
x = i.Name
ActiveCell.Value = Worksheets("'" & x & "'").Range("A2").Value
ActiveCell.Offset(1, 0).Select
Next i


Merci à tous

Antoine




Avatar
Antoine76
Merci à toi pour le coup de pouce, Pounet95

Je crois que ce n'est pas un bon jour pour moi ! ;-)

"Pounet95" a écrit dans le message de news:

Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du

classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle

en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur issue
de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Antoine76" a écrit dans le message de news:

Bonjour,

sous Excel 2000, je souhaite faire une macro qui fasse ressortir en
colonne
sur le 1er onglet, une date qui se trouve sur tous les onglets, toujours
dans la même cellule (A2). Sans doute très simple, mais je bloque
pitoyablement sur la récupération de la valeur de la cellule ...
Peut-être quelqu'un aurait-il la lueur de lucidité que je semble pas
n'avoir
pas encore retrouvée en ce petit matin frais.

voici le code qui me crée une migraine !

Range("D1").Select
For Each i In ActiveWorkbook.Sheets
x = i.Name
ActiveCell.Value = Worksheets("'" & x & "'").Range("A2").Value
ActiveCell.Offset(1, 0).Select
Next i


Merci à tous

Antoine







Avatar
Pounet95
Re,
Ouh là), j'ai peur et/ou j'ai mal compris ?

Merci à toi pour le coup de pouce, Pounet95
c'est OK ou non ?


Je crois que ce n'est pas un bon jour pour moi ! ;-)
Si c'est OK quelle est la cause ? Le froid ? Le rhume ? La grippe ?

Si c'est pas OK, alors c'est plutôt pour moi que > Je crois que ce n'est pas
un bon jour pour moi ! ;-)

Bon après-midi

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Antoine76" a écrit dans le message de news:

Merci à toi pour le coup de pouce, Pounet95

Je crois que ce n'est pas un bon jour pour moi ! ;-)

"Pounet95" a écrit dans le message de news:

Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du

classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle

en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue
de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Antoine76" a écrit dans le message de news:

Bonjour,

sous Excel 2000, je souhaite faire une macro qui fasse ressortir en
colonne
sur le 1er onglet, une date qui se trouve sur tous les onglets,
toujours
dans la même cellule (A2). Sans doute très simple, mais je bloque
pitoyablement sur la récupération de la valeur de la cellule ...
Peut-être quelqu'un aurait-il la lueur de lucidité que je semble pas
n'avoir
pas encore retrouvée en ce petit matin frais.

voici le code qui me crée une migraine !

Range("D1").Select
For Each i In ActiveWorkbook.Sheets
x = i.Name
ActiveCell.Value = Worksheets("'" & x & "'").Range("A2").Value
ActiveCell.Offset(1, 0).Select
Next i


Merci à tous

Antoine











Avatar
Michel Gaboly
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas Q UE des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes des guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite co mme tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html


Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuil les
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Antoine76
bonsoir à tous les 2 !

tout à l'heure, j'ai juste eu le temps de reprendre l'info sans la tester,
mais j'ai tenu à remercier "dans las délais".

je viens de rentrer, et effectivement, cela coince toujours ! je vais donc
tester la recette du Docteur Gaboly et je vous informe...

merci à tous
Antoine

"Michel Gaboly" a écrit dans le message de news:
##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas QUE
des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes des
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html


Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Antoine76
Effectivement, l'approche thérapeutique du Docteur Gaboly est clairvoyante
sur le diagnostic (cela ne contient effectivement que des feuilles de
calcul) et efficace dans le résultat. Je vais donc pouvoir arrêter le Prozac
!

Merci à tous

Antoine

"Michel Gaboly" a écrit dans le message de news:
##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas QUE
des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes des
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html


Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Michel Gaboly
Fils d'un ORL et d'une gyneco, accessoirement neveu d'un stomato et d'une ophtalmo, cela me fait tout drôle d'être
désigné comme "Docteur Gaboly". ;-)))

bonsoir à tous les 2 !

tout à l'heure, j'ai juste eu le temps de reprendre l'info sans la te ster,
mais j'ai tenu à remercier "dans las délais".

je viens de rentrer, et effectivement, cela coince toujours ! je vais d onc
tester la recette du Docteur Gaboly et je vous informe...

merci à tous
Antoine

"Michel Gaboly" a écrit dans le message de news:
##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas QUE
des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes d es
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html



Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuil les
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée





--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
Michel Gaboly
;-))) Bis


Effectivement, l'approche thérapeutique du Docteur Gaboly est clairvo yante
sur le diagnostic (cela ne contient effectivement que des feuilles de
calcul) et efficace dans le résultat. Je vais donc pouvoir arrêter le Prozac
!

Merci à tous

Antoine

"Michel Gaboly" a écrit dans le message de news:
##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas QUE
des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes d es
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html



Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuil les
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée





--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
Antoine76
confession pour confession, je dois avouer que je fais aussi parti de la
"caste";
C'est pour cela que j'ai préféré éviter de t'écrire : " faute d'anamnèse ou
d'en savoir plus sur l'étiologie de cette pathologie cryptogénique...t'as
été un bon !

Antoine

"Michel Gaboly" a écrit dans le message de news:

Fils d'un ORL et d'une gyneco, accessoirement neveu d'un stomato et d'une
ophtalmo, cela me fait tout drôle d'être
désigné comme "Docteur Gaboly". ;-)))

bonsoir à tous les 2 !

tout à l'heure, j'ai juste eu le temps de reprendre l'info sans la tester,
mais j'ai tenu à remercier "dans las délais".

je viens de rentrer, et effectivement, cela coince toujours ! je vais donc
tester la recette du Docteur Gaboly et je vous informe...

merci à tous
Antoine

"Michel Gaboly" a écrit dans le message de
news:

##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas
QUE

des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes des
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html



Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée





--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
Pounet95
Bonjour,
Pour continuer, je suis petit-fils d'un opticien-ébéniste primé au Concours
Lépine

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Antoine76" a écrit dans le message de news:

confession pour confession, je dois avouer que je fais aussi parti de la
"caste";
C'est pour cela que j'ai préféré éviter de t'écrire : " faute d'anamnèse
ou
d'en savoir plus sur l'étiologie de cette pathologie cryptogénique...t'as
été un bon !

Antoine

"Michel Gaboly" a écrit dans le message de
news:

Fils d'un ORL et d'une gyneco, accessoirement neveu d'un stomato et d'une
ophtalmo, cela me fait tout drôle d'être
désigné comme "Docteur Gaboly". ;-)))

bonsoir à tous les 2 !

tout à l'heure, j'ai juste eu le temps de reprendre l'info sans la
tester,
mais j'ai tenu à remercier "dans las délais".

je viens de rentrer, et effectivement, cela coince toujours ! je vais
donc
tester la recette du Docteur Gaboly et je vous informe...

merci à tous
Antoine

"Michel Gaboly" a écrit dans le message de
news:

##
Salut Pounet,

Des petits problmes possibles : si ta collection Sheets ne comporte pas
QUE

des feuilles de calcul,
cela plantera ;-((

Utilise plutôt une boucle For Each en parcourant les seules feuilles de
calcul.

Sub RécupA2()
Dim f As Worksheet, i As Integer
With ActiveSheet.Range("D1")
For Each f In ActiveWorkbook.Worksheets
.Offset(i) = f.Range("A2")
i = i + 1
Next
End With
End Sub

Antoine76, le problème vient de Worksheets("'" & x & "'")

Une variable, x en l'occurrence s'utilise directement. Si tu rajoutes des
guillemets, tu ne fais pas référence à la
variable, , mais au texte situé entre les guillemets, que VBA traite
comme
tel, sans chercher à interprêter.

+ de détails ici : http://www.gaboly.com/Excel/Chaine.html



Bonjour,

Non testé donc à vérifier et/ou adapter dans un module standard
Mettre la colonne recevant les dates au bon format


'----------------------------------------- début du code
Sub Importer_Dates_En_A2_Autres_Onglets()
Set wb = ThisWorkbook

Columns(1).Clear ' efface toutes les données de la colonne A de
l'onglet en cours
[A1].Select ' se met en A1

For i = 1 To wb.Sheets.Count 'chacune des feuilles
du classeur
If Sheets(i).Name <> ActiveSheet.Name Then ' ... sauf
celle en cours
ActiveCell = Sheets(i).Range("A2") ' écrit la valeur
issue de A2
ActiveCell.Offset(1, 0).Select ' et va en dessous
End If
Next i
End Sub

'----------------------------------------- fin du code

Bonne journée





--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com