Copier feuille Excel d'un classeur à un autre [Résolu]

Signaler
Messages postés
34
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
8 juillet 2010
-
Messages postés
34
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
8 juillet 2010
-
Bonjour à tous,

Voila a macro ci-dessous me permet de copier 21 colonnes et 100 lignes d'une feuille d'un classeur à un autre classeur.
Cette macro permet de copier le contenu des cellules et la forme des cellules (tailles, couleurs), cela permet de mettre à jour plusieurs classeurs à en en modifiant qu'un seul

Voila j'ai quelques questions :
- Malgré plusieurs essais avec WorkbookOpen() je n'arrive pas à executer la macro à l'ouverture de mon classeur, comment faire???
- Il faut que mon classeur source (AMDECtrabsfert) soit ouvert pour mettre à jour le classeur Nouveau2. Est-il possible de laisser le classeur source fermé??
- Lors de l'execution de la macro les cellules vides comporte des 0, comment arriver à les avoir simplement vide ???
(j'ai essayé ça sans succès :
If (Selection.Value = 0)) Then
Selection.Delete
Else
Selection.Copy
End If

Merci par avance de vos réponses
Voici le code qui fonctionne en ayant le classeur soruce ouvert et qui affiche des 0 pour les cellules vides

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 28/06/2010 par ....
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "='[AMDECtransfert.xls]Feuil1'!RC"
Range("A1").Select
Selection.Copy
Range("A2:A100").Select
ActiveSheet.Paste
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Copy
Columns("B:U").Select
ActiveSheet.Paste
Windows("AMDECtransfert.xls").Activate
Columns("A:U").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Nouveau3.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'
Application.Goto Reference:="Macro1"
ActiveWorkbook.Save
End Sub

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut

Beaucoup de questions.
Il aurait été sage de n'en poser qu'une à la fois, les réponses vont se mélanger et ça va être le bordel. Bref.

- "je n'arrive pas à executer la macro à l'ouverture de mon classeur"
L'auto-exécution de Workbook_Open (et pas WorkbookOpen) ne fonctionne que si le niveau de sécurité le permet : voir menu "Outils" + "Macros" + "Sécurité"

- "Est-il possible de laisser le classeur source fermé"
Oui, mais la syntaxe est différente :
Fichier restant fermé :
= 'C:\Documents and Settings\Moi\Mes documents\[mon classeur.xls]Ma feuille'!$A$1
Fichier ouvert :
='[mon classeur.xls]Ma feuille'!$A$1
Attention à l'emplacement des [ ] et '

- " Lors de l'execution de la macro les cellules vides comporte des 0, comment arriver à les avoir simplement vide "
S'il y a un zéro, la cellule n'est pas vide.
Si c'est juste une question d'affichage :
Menu "Outils" + "Options" + décocher la case à cocher "Valeur zéro"

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
34
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
8 juillet 2010

Merci beaucoup pour ces réponses...
Je ne vais pas me pencher sur ce problème ce soir mais je regarde cela dès demain... Et je vous tiens au courant...
Messages postés
34
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
8 juillet 2010

Effectivement toutes ces astuces me sont utiles...
Pour les zéros, c'est parfait, il ne s'affiche plus, il faut connaître l'astuce...
pour Workbook_Open() plus d eproblème non plus cela fonctionne...

Pour le chemin di fichier cela fonctionne parfaitement pour le premier (ligne 7 du code) mais par contre pour la ligne 17 j'ai essayé toutes les syntaxes possibles sans succès...

De quoi ce problème peut-il venir???
Messages postés
34
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
8 juillet 2010

Je viens de me rendre compte que Windows("nomDuFichier.xls").Activate est une instruction fonctionnant uniquement pour les fichiers ouverts... je cherche donc une instruction pour les fichiers fermés!