For Each Sheet In ActiveWorkbook.Sheets??

Le
Rhodan
bonjour,
pour faire une macro sur toute les feuille d'un classeur j'utilise cette
commande :

For Each Sheet In ActiveWorkbook.Sheets

copier des cellules
colle dans un autre classeur

Next Sheet


le boulot est effectivement fait mais x fois sur les cellules de la même
feuille
ais je oublié quelque chose ????
merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Engelmajer
Le #1392623
Salut,
le code
colle dans un autre classeur
ne nous indique pas grand chose d'utile pour résoudre le pb

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Rhodan" 409e3533$0$422$
bonjour,
pour faire une macro sur toute les feuille d'un classeur j'utilise cette
commande :

For Each Sheet In ActiveWorkbook.Sheets

copier des cellules
colle dans un autre classeur

Next Sheet


le boulot est effectivement fait mais x fois sur les cellules de la même
feuille
ais je oublié quelque chose ????
merci




Rhodan
Le #1392618
Pour plus d'explication:

pour chaque feuille d'un classeur j'aimerai faire la copie d'une selection
puis coller la selection dans un autre classeur (nommé Source).

Le seul moyen que j'ai trouvé pour que le boulot concerne toutes les
feuilles et non pas toujours la première , je supprimes les feuilles après
le boulot. mais ce n'est pas une solution en soit...

et voir code source suivant.


Sub ConstitutionSource()
For Each Sheet In ActiveWorkbook.Sheets
'''''''''insertion lignes
Rows("3:6").Select
Selection.Insert Shift:=xlDown

'''''''copie des données
Range("A3:AV31").Select
Selection.Copy

'''''''''activation classeur Source
Windows("Source.xls").Activate

''''collage données , avec transposé
Range("A1").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone,
SkipBlanks:úlse _
, Transpose:=True

'''''retour classeur initiale

Windows("fiche expérimentation gaz fixe.xls").Activate

'''''''copie d'une deuxième sélection
Range("A1:D2").Select
Application.CutCopyMode = False
Selection.Copy

''''''activation classeur Source
Windows("Source.xls").Activate

''''collage données 2éme sélection
Range("A1").Select
ActiveSheet.Paste

''''''' étire/recopie la sélection
Range("A2:D2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A2:D48"), Type:=xlFillDefault
Range("A2:D48").Select
Selection.FillDown

''''''déplace l'ensemble des deux sélection vers le bas pour ne pas ête
effacé par le collage suivant
Range("A1:AC48").Select
Selection.Insert Shift:=xlDown

'''''retour classeur initiale

Windows("fiche expérimentation gaz fixe.xls").Activate

''''SUPPRIME la feuille de données
ActiveWindow.SelectedSheets.Delete

Next Sheet

End Sub
Pascal Engelmajer
Le #1392474
Salut,
.Activate, .Select, ne facilite pas l'écriture d'un code clair.
Essaie de créer des variables et d'écrire ton code de la façon suivante

dim wbSource as Workbook
dim wbClasseur as Workbook
dim sh as Worksheet
dim plACopier as range
dim cellCible as range
set wbClasseur = ActiveWorkbook
set wbSource as Workbooks("source.xls")
For Each sh In wbClasseur.Sheets
with sh
. Rows("3:6").Insert Shift:=xlDown 'insertion de 4 lignes à
partir de la ligne 3 ???
'ça sert à quoi ?
'copie des données
.Range("A3:AV31").Copy
set cellCible=wbSource.Sheets(1).Range("A1")' je suppose que le
activate arrive sur la feuille 1
cellCible.PasteSpecial Transpose:=True
'''''''copie d'une deuxième sélection
'''' et collage données 2éme sélection
set cellCible=wbSource.Sheets(1).Range("A1")' bizarre la cellule
cibler est la même !!!
' et plus de transposition
.Range("A1:D2").Copy cellCible
''''''' étire/recopie la sélection ' sais pas exactement ce que
cela doit faire car les valeurs sont incrémentées ...
''''''déplace l'ensemble des deux sélection vers le bas pour ne pas
être effacé par le collage suivant
wbSource.sheets(1).Range("A1:AC48").Insert Shift:=xlDown
' ou
' wbSource.sheets(1).Rows("1:48").Insert Shift:=xlDown
.../...
next sh
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Rhodan" 409e4978$0$426$
''''''' étire/recopie la sélection
Range("A2:D2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A2:D48"), Type:=xlFillDefault
Range("A2:D48").Select
Selection.FillDown

''''''déplace l'ensemble des deux sélection vers le bas pour ne pas
ête

effacé par le collage suivant
Range("A1:AC48").Select
Selection.Insert Shift:=xlDown

'''''retour classeur initiale

Windows("fiche expérimentation gaz fixe.xls").Activate

''''SUPPRIME la feuille de données
ActiveWindow.SelectedSheets.Delete

Next Sheet

End Sub




Publicité
Poster une réponse
Anonyme