nico5969
Messages postés32Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention14 avril 2009
-
8 sept. 2008 à 11:23
nico5969
Messages postés32Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention14 avril 2009
-
8 sept. 2008 à 16:59
hello a tous
voila je souhaite ecrire une macro qui me permette de copier les données d'une feuille d'un classeur vers une feuille d'un autre classeur, mais SANS afficher ce classeur de destination.
J'ai définies les valeurs à copier dans des variables.
Pour l'instant, la macro copie les bonnes infos aux bons endroits mais en affichant le classeur de destination.
Il me manque la ligne qui "masque" le classeur destination.ci dessous le code:
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 8 sept. 2008 à 16:54
oups !
meaculpa ! je t'ai donner la mauvaise methode !
Voici la bonne
Private Sub blabla()
Application.ScreenUpdating = False
...[declaration des variables]...
Workbooks.Open ("[../c.aspx?u=ZmlsZTovL1xcc3J2ZGF0YS1hYWZcQ29tbWVyY2lhbFx6X2V0dWRlX2ZpbmFuY2llcmVcQ2N4XGRiZXR1ZGUueGxzbQ== \\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm]")
Set f1 = Sheets("report")
Set s = f1.Cells.Find(What:=ref, After:=f1.Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If s Is Nothing Then
Sheets("report").Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Else:
f1.Select
s.Select
End If
...[recopie des valeurs dans le fichier non affiché]...
Pour cacher ton classeur le mieux est de desactiver la mise a jour de l'affichage pendant le deroulement de ta macro puis de tout reactiver une fois le classeur fermer.
Workbooks.Open ("[../c.aspx?u=ZmlsZTovL1xcc3J2ZGF0YS1hYWZcQ29tbWVyY2lhbFx6X2V0dWRlX2ZpbmFuY2llcmVcQ2N4XGRiZXR1ZGUueGxzbQ== \\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm]Application.DisplayAlerts = True
End Sub
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 8 sept. 2008 à 15:55
Ouai ! sauf qu'avec ta methode si il y a un plantage de ta macro pendant la periode ou excel est invisible c'est foutu pour l'utilisateur lambda !
Et si il avait pas enregistré sont boulot tu auras interet de raser les mures Et je pense que tu fais partie des utilisateurs lambda non ?... explique moi comment tu fais
pour reafficher excel en cas de plantage ?
D'autan que ta macro ouvre un fichier sur un reseau donc il y bien une dizaine de raisons pour que cela finisse par planter un jour !
Bref tres mausvaise methode que je deconseil fortement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
nico5969
Messages postés32Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention14 avril 2009 8 sept. 2008 à 16:16
j'ai essayé avec ta méthode mais du coup le fameux classeur s'ouvre (s'affiche) puis il se ferme....
a la base je ne veux pas que l'utilisateur puisse voir cette ouverture/fermeture....
nico5969
Messages postés32Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention14 avril 2009 8 sept. 2008 à 16:34
Private Sub blabla()
Application.Visible=false
...[declaration des variables]...
Workbooks.Open ("
[file://\\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm
\\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm
]
")
Set f1 = Sheets("report")
Set s = f1.Cells.Find(What:=ref, After:=f1.Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If s Is Nothing Then
Sheets("report").Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Else:
f1.Select
s.Select
End If
...[recopie des valeurs dans le fichier non affiché]...