Copier dans un classeur masqué

Résolu
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 avril 2009 - 8 sept. 2008 à 11:23
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 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:

Private Sub ()
...................blablabla.........
.
.
pvmh = Range("pvmh").Value
pvmm = Range("pvmm").Value
ratiopvsal = Range("ratiopvsal").Value
ratiomo = Range("ratiomo").Value
  
Workbooks.Open ("[file://\\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm \\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm]")
Sheets("report").Range("A1").Select



    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = ref
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = jour
.
.
...................blablabla.........

End Sub


merci de votre aide

Nico

Impossible is Nothing !

8 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
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é]...

ActiveWorkbook.save
ActiveWorkbook.Close

Application.ScreenUpdating = True

End Sub ()

pas encore reveillé
1
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2008 à 15:34
Salut,

pour commencer tu n'es pas dans le bon theme ! Pour le VBA le bon theme c'est ici :

Thèmes / [forum-VISUAL-BASIC_1.aspx Visual Basic 6] / [theme-LANGAGES-DERIVES_287.aspx Langages dérivés] / [theme-VBA_244.aspx VBA] /

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.

Private Sub ()
Application.DisplayAlerts = False
...................blablabla.........
.
.
pvmh = Range("pvmh").Value
pvmm = Range("pvmm").Value
ratiopvsal = Range("ratiopvsal").Value
ratiomo = Range("ratiomo").Value
  
Workbooks.Open ("[../c.aspx?u=ZmlsZTovL1xcc3J2ZGF0YS1hYWZcQ29tbWVyY2lhbFx6X2V0dWRlX2ZpbmFuY2llcmVcQ2N4XGRiZXR1ZGUueGxzbQ== \\srvdata-aaf\Commercial\z_etude_financiere\Ccx\dbetude.xlsm]Application.DisplayAlerts = True
End Sub

A+
0
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 avril 2009
8 sept. 2008 à 15:39
Merci pour ta réponse

entre deux j'ai trouvé une autre méthode sur un autre post

Application.Visible=false
puis TRUE a la fin

ce qui doit revenir au meme je pense

merci quand meme d'avoir jeté un oeil

Nico

Impossible is Nothing !
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 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....

Nico
Impossible is Nothing !
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2008 à 16:28
bizzard !

donne ton code pour voir comment tu utilise la methode
0
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 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é]...

ActiveWorkbook.save
ActiveWorkbook.Close



Application.Visible = True

End Sub ()



Nico
Impossible is Nothing !
0
nico5969 Messages postés 32 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 avril 2009
8 sept. 2008 à 16:59
CANON c'est exactement ce que je voulais

je te declare officiellement reveillé ;)

Un grand grand merci

Nico
Impossible is Nothing !
0
Rejoignez-nous