activeSheets.Paste Link:=True çà plante !

jja2

XLDnaute Nouveau
bonjour à tous
j'essaye des copié et lié les cellules A27:L27 de tout les feuilles du classeur sur l'onglet "stock".

mais mon code plante et je ne comprend pas, vu mon niveau super bas esque quelqu'un aurait un idée ?

mon bouton se trouve sur "feuil1" qui me sert de menu.
j'ai trouvé le code pour aller chercher les données sur le forum et j'ai tenté de le mettre à ma sauce.

le code :


Sub Bouton2_Clic()


Dim Ligne, Nombre As Long
Application.ScreenUpdating = False
Ligne = 2

'Ligne = Range("A27").End(xlDown).Row + 1

For Nombre = 4 To Sheets.Count
' 4 parce que j'ai 3 feuilles ou il y a rien à prendre


Colonne = Range("l1").End(xlToLeft).Column + 1


Sheets(Nombre).Range("A27:L27").Copy
Sheets("stock").Select
Cells(Ligne, Colonne).Select

activeSheets.Paste Link:=True


Next Nombre
Application.ScreenUpdating = True

End Sub


logiquement çà devrait marcher , non ?
 

jp14

XLDnaute Barbatruc
Re : activeSheets.Paste Link:=True çà plante !

Bonjour

Ci dessous le code modifié en partie.
Code:
Sub Bouton2_Clic()


Dim Ligne As Long, Nombre As Long
Dim colonne As Long
Sheets("stock").Select
Application.ScreenUpdating = False
Ligne = 2
'Ligne = Range("A27").End(xlDown).Row + 1

For Nombre = 4 To Sheets.Count ' cette ligne risque de  générer des erreurs
' 4 parce que j'ai 3 feuilles ou il y a rien à prendre

colonne = Sheets("stock").Range("IV2").End(xlToLeft).Column + 1

Sheets("stock").Cells(Ligne, colonne).Select

Sheets(CStr(Nombre)).Range("A27:L27").Copy
ActiveSheet.Paste Link:=True


Next Nombre
Application.ScreenUpdating = True

End Sub

A tester et à modifier

JP
 

jja2

XLDnaute Nouveau
Re : activeSheets.Paste Link:=True çà plante !

merci de m'aider JP14

effectivement çà plante à :
Sheets(CStr(Nombre)).Range("A27:L27").Copy

esque c'est à cause de for nombre = 4 to sheets.count ???

y a pas moyens de faire autrement ?
J’avoue que je patauge dans la semoule, j’apprends petit à petit .

jja
 

jp14

XLDnaute Barbatruc
Re : activeSheets.Paste Link:=True çà plante !

Bonjour

Un onglet est reconnu soit par son nom, soit par un numéro 1,2,3,... ce numéro est mis par excel lors de la création de la feuille.
Pour tester j'ai renommé mes feuilles en utilisant les chiffres 4,5,... et de ce fait j'ai utilisé
CStr(Nombre) pour faire les tests.
Il faut donc supprimer CStr().
Si la feuille "stock" est en dernière position il y aura un problème.

JP
 

jja2

XLDnaute Nouveau
Re : activeSheets.Paste Link:=True çà plante !

bon après pas mal d'erreur et après une coupe franche dans les codes je sais pas pourquoi mais çà plante plus et en plus

çà affiche quelque chose, mais ( il y a toujours un mais ! ) je n'ai que le dernier onglet qui est afficher ( celui juste avant "new page") si je change l'ordre des onglet çà change aussi.

je voudrais afficher les valeurs de A27:l27 de toutes mes pages, vu que j'ai de nouvelles pages qui se créent toutes les semaines.

je ne comprend pas pourquoi je n'ai que le dernier onglet, dans le code j'ai rien vu qui me fait penser que on demande çà .





Sub Bouton2_Clic()


Dim Ligne, Nombre As Long
Application.ScreenUpdating = False
Ligne = 2
'Ligne = Range("A2").End(xlDown).Row + 1
For Nombre = 1 To Sheets.Count
Colonne = Range("l1").End(xlToLeft).Column

Sheets(Nombre).Range("A27:L27").Copy


Sheets("stock").Select
Cells(Ligne, Colonne).Select
ActiveSheet.Paste Link:=True


Next Nombre
Application.ScreenUpdating = True

End Sub



le code qui semblerait'il possait problème était dans un userform dans le Bt pour l'enregistrement de la feuille
code que j'ai du couper:



'deverouillage de la page mot de passe antoine
Sheets("historiq").EnableSelection = xlUnlockedCells
ActiveSheet.Unprotect



'mise à jour historique
i = Sheets("historiq").Range("a65536").End(xlUp).Row + 1
Sheets("historiq").Range("a" & i) = Format(Date, "dddd d mmm yyyy")
Sheets("historiq").Range("b" & i) = Format(Time, "h:mm:ss")

Sheets("historiq").Range("c" & i) = Range("A2")
Sheets("historiq").Range("d" & i) = (" création de l'ensemble")


' verouiller page historiq
Sheets("historiq").Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True
 

pierrejean

XLDnaute Barbatruc
Re : activeSheets.Paste Link:=True çà plante !

bonjour a tous

teste ceci

Code:
Sub Bouton2_Clic()
Application.ScreenUpdating = False
 For n = 1 To Sheets.Count
  If Sheets(n).Name <> "Feuil1" And Sheets(n).Name <> "stock" And Sheets(n).Name <> "historiq" Then
   Sheets(n).Range("A27:L27").Copy
   Sheets("stock").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
  End If
 Next n
 Application.CutCopyMode = False
 Application.ScreenUpdating = True
 Sheets("stock").Select
End sub
 

jja2

XLDnaute Nouveau
Re : activeSheets.Paste Link:=True çà plante !

Bonjour à tous et merci pour l'aide que vous m'avez apporté .

voici le lien du fichier " fini".
si quelqu'un à des idées pour améliorer je suis biensûr preneur !

merci encore


lien du fichier zip :

Ce lien n'existe plus celine.zip
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 133
dernier inscrit
mtq