XL 2013 [Résolu par CISCO] Copier un tableau d'une feuille vers une autre avec une macro

bellenm

XLDnaute Occasionnel
Bonjour les excleliens et autres,

J'ai un petit problème j'essaye depuis plusieurs jours de copier des tableaux depuis une feuille vers une autre qui est protégée. Dans les cellules il y a pleins de formules donc j'ai essayer avec des copier coller des rangées mais cette méthode n'est pas rapide. une macro bien faconnée serait bien, il y aura huit tableaux dans cette disposition copier depuis la feuille "RESULTATS bis" vers la feuille "RESULTATS"

Merci à tous ceux qui me lirons puis me permettrait de trouver la solution.
Ci-joint un fichier avec un modèle de tableau.

Marc
 

Fichiers joints

JBARBE

XLDnaute Barbatruc
Bonjour à tous,

Ce fichier pose problème lors de la mise en marche d'une macro afin de faire des copies car il contient beaucoup d'irrégularités !

Veuillez y remédier si vous voulez avoir une solution !

Bonne journée !
 

bellenm

XLDnaute Occasionnel
Bonjour WTF,

Merci pour ta réponse rapide, mais dans ta formule ou je me suis mal expliquer ou tu aurais oublié dans le copier coller les formules des cellules tu copie juste le contenus!

Si non c'est super.

si tu sais mettre la mise à jour, merci d'avance.

Marc
 

bellenm

XLDnaute Occasionnel
Bonjour JBARBE,
Ce fichier pose problème lors de la mise en marche d'une macro afin de faire des copies car il contient beaucoup d'irrégularités !

Veuillez y remédier si vous voulez avoir une solution !
Les problème que tu expose cce son des liens avec d'autres feuille de mon fichier , tu fais ignorer et ca fonctionne. Si je n'ai pas mis les autres feuilles vers lesquelles les liens sont fait c'est par ce que cela n'apporte rien à mon problème si ce n'est des données personnel a enlever .

Merci d'avoir quand m^me voulus jeter un oeil.

Marc.
 

CISCO

XLDnaute Barbatruc
Bonjour

Peut être en modifiant le code proposé par WTF comme suit
Code:
Sub BellenmTest()
'
' BellenmTest Macro
'

'Déprotection de l'onglet résultat bis
    Sheets("RESULTATS bis").Select
    ActiveSheet.Unprotect
  
'Sélection, copie des champs à reporter et collage dans RESULTATS bis!E5
    Sheets("RESULTATS").Select
    Range("E5:X14").Select
    Selection.Copy Sheets("RESULTATS bis").Range("E5")

'Protection de l'onglet
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("RESULTATS").Select
    Range("B17:AC18").Select
End Sub
@ plus
 

bellenm

XLDnaute Occasionnel
Bonjour CISCO,

C'est bien ça la formule merci
Il y a un problème: Il me dit que le nom "CA" excite déjà donc je clic sur et pas de problème, mais c'est mettre la réponse dans la macro?

Ps: sur l'ancienne demande ici j'avais constater un problème si tu as du temps pour y regarder, ce serrais super.

Merci déjà beaucoup et a bientôt.

Marc
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Tu peux faire encore plus court en mettant au milieu uniquement
Code:
'Sélection, copie des champs à reporter et collage dans RESULTATS bis!E5
    Sheets("RESULTATS").Range("E5:X14").Copy Sheets("RESULTATS bis").Range("E5")
Pour ce qui est de CA, c'est normal à cause de la macro évènementielle Worksheet_SelectionChange que tu as dans Feuil8. Tu dois pouvoir corriger ce défaut avec une ligne du style
Code:
If Activesheet.Name="CINT" then ActiveCell.Name = "CA" 'nomme la cellule active
à la place de
Code:
ActiveCell.Name = "CA" 'nomme la cellule active
@ plus
 

bellenm

XLDnaute Occasionnel
Bonsoir ou bonjour à CISCO, JBARBE, WTF et tous les autres,

Je remet un fichier plus complet car sur le précédent le problème ne se posait pas.

Donc pour faire court, CISCO ta solution fonctionnait bien mais une intégré au fichier complet toujours le même problème:(.

Donc j'aurais voulus pouvoir copier les cellules 'E13 à X22" de la feuille "RESULTATS bis" sur la feuille "RESULTATS" à l'emplacement "E13" mais j'ai une boîte de dialogue qui s'ouvre me disant que le nom "CA" existe déjà.
Cliquer sur oui. Y a t'il moyen de passer outre de la demande?

Si vous avez la solution cela terminera mon projet déjà super avancé avec "CISCO" pour mon club de ping.

merci d'avance à tous-ceux qui vont peut-être passer un peux de temps sur ce problème pour moi et sûrement une bétise pour vous!:)

Marc
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Il me semblait aussi, mais ne connaissant pas tous les tenants et tous les aboutissants de ton fichier...

Si c'est ça, tu double-cliques sur Feuil8 (RESULTATS) dans la fenêtre VBA obtenu avec Alt+F11 et tu effaces tout le code
Code:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If ActiveSheet.Name = "RESULTATS" Then ActiveCell.Name = "CA" 'nomme la cellule active
End Sub
De même dans le code de la feuille Feuil2 (CINT), tu peux supprimer
Code:
If ActiveSheet.Name = "CINT" Then ActiveCell.Name = "CA" 'nomme la cellule active
et garder uniquement (donc pas en commentaire)
Code:
ActiveCell.Name = "CA" 'nomme la cellule active
Ensuite, tu supprimes dans le gestionnaire de noms les CA définis dans les feuilles RESULTATS et dans RESULTATS bis.

@ plus
 
Dernière édition:

bellenm

XLDnaute Occasionnel
Re Bonjour CISCO,

Voilà c'est fait et bien fait , merci pour tout ;)

PS: je laisse le dernier fichier mis à jour avec des données non pertinente?

Marc
 

Discussions similaires


Haut Bas